Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan algoritma isihan gelembung dalam C++

Cara menggunakan algoritma isihan gelembung dalam C++

WBOY
WBOYasal
2023-09-19 17:12:111477semak imbas

Cara menggunakan algoritma isihan gelembung dalam C++

Cara menggunakan algoritma isihan gelembung dalam C++

Algoritma isihan gelembung ialah algoritma isihan yang mudah tetapi tidak cekap Ia menggunakan berbilang perbandingan dan pertukaran untuk mengisih urutan dari kecil ke besar (atau dari besar ke kecil) mengikut urutan . Di sini kami akan memperkenalkan cara untuk melaksanakan algoritma isihan gelembung menggunakan bahasa C++, dan melampirkan contoh kod terperinci.

  1. Algoritma Prinsip:
    Idea asas algoritma jenis gelembung adalah untuk membandingkan unsur -unsur bersebelahan satu demi satu dari urutan yang akan disusun. ditukar. Selepas perbandingan sedemikian, elemen terbesar (atau terkecil) akan "bergelembung" ke penghujung jujukan. Kemudian lakukan perbandingan dan operasi pertukaran yang sama pada jujukan yang tinggal sehingga keseluruhan jujukan adalah teratur.
  2. Pelaksanaan algoritma:
    Berikut ialah contoh kod menggunakan bahasa C++ untuk melaksanakan algoritma isihan gelembung:
#include<iostream>
using namespace std;

// 冒泡排序函数
void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - 1 - i; j++) {
            // 如果前一个元素大于后一个元素,交换它们的位置
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

// 主函数
int main() {
    int arr[] = { 64, 34, 25, 12, 22, 11, 90 };
    int n = sizeof(arr) / sizeof(arr[0]);

    bubbleSort(arr, n);

    cout << "排序后的数组:";
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
    
    return 0;
}
  1. Contoh analisis:
    Pertama, tentukan tatasusunan integer untuk diisih dalam fungsi utama arr,并按照需要进行初始化。然后通过计算数组的长度n,调用bubbleSort函数对数组进行排序。在bubbleSortDalam fungsi, dua embeddings Set gelung melaksanakan logik teras pengisihan gelembung: gelung luar mengawal bilangan pusingan perbandingan dan pertukaran, dan gelung dalam bertanggungjawab untuk perbandingan dan pertukaran khusus setiap pusingan. Akhirnya, tatasusunan yang diisih adalah output dalam fungsi utama.
  2. Demonstrasi hasil:
    Apabila menjalankan kod di atas, konsol akan mengeluarkan hasil berikut:
排序后的数组:11 12 22 25 34 64 90

Anda boleh melihat bahawa selepas pengisihan gelembung, elemen tatasusunan disusun dengan betul mengikut tertib dari kecil ke besar.

Ringkasan:
Algoritma isihan buih ialah algoritma isihan yang mudah tetapi tidak cekap. Dalam aplikasi praktikal, algoritma isihan gelembung boleh digunakan untuk pengisihan data berskala kecil. Walau bagaimanapun, untuk data berskala besar, algoritma isihan gelembung mempunyai kerumitan masa yang tinggi dan tidak disyorkan.

Atas ialah kandungan terperinci Cara menggunakan algoritma isihan gelembung dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn