Isih buih ialah salah satu algoritma pengisihan paling mudah digunakan untuk mengisih data dengan membandingkan elemen bersebelahan. Semua elemen dibandingkan secara berperingkat. Peringkat pertama meletakkan nilai terbesar pada penghujung, peringkat kedua meletakkan elemen kedua terbesar pada kedudukan kedua hingga terakhir, dan seterusnya sehingga senarai lengkap diisih. Algoritma isihan buih saiz
Tamat
rreeee p> Kaedah yang digunakan dalam atur cara di bawah adalah seperti berikut
Fungsi recurbublSort(int arr[], int len) mendapatkan tatasusunan dan panjangnya, dan menggunakan isihan gelembung untuk menyusun tatasusunan secara rekursif.
Dapatkan suhu boleh ubah.
Jika panjang tatasusunan ialah 1, batal dikembalikan.
Jika tidak, gunakan gelung tunggal untuk lelaran ke atas tatasusunan dan untuk setiap elemen arr[i]>arr[i+1], tukar elemen.
Tetapkan suhu=arr[i], arr[i]=arr[i+1] dan arr[i+1]=suhu.
Sekarang kurangkan panjang sebanyak 1 kerana gelung sebelumnya meletakkan elemen terbesar pada kedudukan terakhir.
Panggil recurbublSort(arr,len) secara rekursif.First Pass 5 7 2 3 1 4 → swap → 5 2 7 3 1 4 5 2 7 3 1 4 → swap → 5 2 3 7 1 4 5 2 3 7 1 4 → swap → 5 2 3 1 7 4 5 2 3 1 7 4 → swap → 5 2 3 1 4 7 Second Pass 5 2 3 1 4 7 → swap → 2 5 3 1 4 7 2 5 3 1 4 7 → swap → 2 3 5 1 4 7 2 3 5 1 4 7 → swap → 2 3 1 5 4 7 2 3 1 5 4 7 → swap → 2 3 1 4 5 7 Third Pass 2 3 1 4 5 7 → swap → 2 1 3 4 5 7 2 1 3 4 5 7 no swap Fourth Pass 2 1 3 4 5 7 → swap → 1 2 3 4 5 7 1 2 3 4 5 7 no swap in further iterations
First Pass 1 2 3 3 2 → swap → 1 2 3 2 3 1 2 3 2 3 → swap → 1 2 2 3 3 1 2 2 3 3 no swap in further iterations Second Pass 1 2 2 3 3 no swap in further iterations
Atas ialah kandungan terperinci Program C untuk jenis gelembung rekursif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!