Deskripsi Algoritma: Untuk catatan N yang diberikan, dua catatan yang berdekatan dibandingkan secara berurutan dari catatan pertama. Ketika catatan saat ini lebih besar dari catatan berikutnya, posisi pertukaran dilakukan. Setelah satu putaran perbandingan dan pertukaran, catatan terbesar di antara catatan N akan berada di posisi ke -n; Kemudian putaran perbandingan kedua dilakukan pada catatan sebelumnya (N-1); Prosesnya diulangi sampai hanya ada satu catatan yang tersisa untuk perbandingan.
Penyortiran gelembung sangat mudah dimengerti. Mengambil penyortiran dari kecil ke besar sebagai contoh, setiap putaran penyortiran menemukan nilai maksimum dalam urutan yang tidak disortir dan meletakkannya di akhir.
Misalkan panjang array adalah n:
(1) Bandingkan dua data yang berdekatan di depan dan belakang. Jika data sebelumnya lebih besar dari data berikutnya, bertukar dua data.
(2) Setelah melintasi data ke-0 dari data array ke N-1, data terbesar akan "tenggelam" ke posisi N-1 dari array.
(3) n = n-1. Jika N bukan 0, ulangi dua langkah sebelumnya, jika tidak penyortiran akan selesai.
Di atas adalah ide dasar penyortiran gelembung, dan Anda dapat menulis kode dengan cepat sesuai dengan definisi ini.
penyortiran paket;/*** Sortir gelembung* rata -rata o (n^2), o terbaik (n), o terburuk (n^2); Kompleksitas ruang o (1); Stabil; Sederhana * @author zeng * */kelas publik Bubblesort {public static void bubblesort (int [] a) {int n = a.length; int temp = 0; for (int i = 0; i <n; i ++) {untuk (int j = 0; j <ni-1; j ++) {if (a [j] [j] [j] [j+1] {a [j] {a [j] {a [j] {a [j] {a [j] {a [j] {a [j] {a [j] {if (a [j] {if = a [j] {j+ a [j+1]; a [j+1] = temp;}}}} public static void main (string [] args) {int [] a = {49,38,65,97,76,13,27,50}; bubblesort (a); untuk (int j: a) system.out.print (j+"");}}Meringkaskan
Di atas adalah semua tentang implementasi sederhana penyortiran gelembung Java, dan saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!