Rumah > Java > javaTutorial > Kaedah pembelajaran pantas yang ringkas dan mudah difahami untuk isihan gelembung Java

Kaedah pembelajaran pantas yang ringkas dan mudah difahami untuk isihan gelembung Java

PHPz
Lepaskan: 2024-01-30 10:21:06
asal
459 orang telah melayarinya

Kaedah pembelajaran pantas yang ringkas dan mudah difahami untuk isihan gelembung Java

Kuasai cara paling mudah untuk menulis isihan buih Java

Isih buih ialah algoritma pengisihan yang mudah tetapi tidak cekap yang menggelembungkan nilai maksimum atau minimum yang tidak diisih ke dalam jujukan dengan menukar elemen bersebelahan secara berulang-ulang. Artikel ini akan memperkenalkan salah satu cara paling mudah untuk menulis isihan gelembung dalam Java dan memberikan contoh kod khusus.

Idea asas pengisihan gelembung adalah untuk membandingkan dua elemen bersebelahan dan menukar kedudukan mereka jika ia berada dalam susunan yang salah, supaya setiap pas pengisihan akan menggelembungkan elemen terbesar (atau terkecil) ke penghujung (atau permulaan) urutannya). Ulangi proses ini sehingga keseluruhan urutan diisih. Berikut ialah cara paling mudah untuk menulis isihan gelembung:

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        int n = arr.length;
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    // 交换 arr[j] 和 arr[j + 1] 的位置
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        int[] arr = {64, 34, 25, 12, 22, 11, 90};
        bubbleSort(arr);
        System.out.println("排序结果:");
        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}
Salin selepas log masuk

Dalam contoh kod di atas, kami mentakrifkan kelas BubbleSort, di mana kaedah bubbleSort digunakan untuk melaksanakan gelembung menyusun logik. Dalam kaedah bubbleSort, kami menggunakan gelung dua peringkat untuk melintasi keseluruhan tatasusunan dan melaksanakan operasi perbandingan dan swap. Gelung luar mengawal bilangan hantaran pengisihan, dan setiap hantaran menggelembungkan nilai maksimum yang tidak diisih ke penghujung jujukan. Gelung dalam mengawal operasi perbandingan dan pertukaran setiap pas, dan mengisih dengan membandingkan dua elemen bersebelahan dan menukar kedudukan mereka. Selepas semua pas selesai, elemen dalam tatasusunan akan diisih dalam tertib menaik. BubbleSort 类,其中 bubbleSort 方法用于实现冒泡排序逻辑。在 bubbleSort 方法中,我们使用两层循环来遍历整个数组并进行比较和交换操作。外层循环控制排序的趟数,每一趟都会将未排序的最大值冒泡到序列的末尾。内层循环控制每一趟的比较和交换操作,通过比较相邻的两个元素并交换它们的位置来实现排序。在完成所有的趟数后,数组中的元素将按照升序排列。

main 方法中,我们创建了一个包含一些无序元素的数组,并将其传递给 bubbleSort

Dalam kaedah utama, kami mencipta tatasusunan dengan beberapa elemen tidak tertib dan menghantarnya kepada kaedah bubbleSort untuk mengisih. Akhir sekali, kami mengeluarkan hasil yang diisih dengan menggelung ke atas tatasusunan yang diisih.

Melalui contoh kod di atas, kita boleh menguasai cara mudah menulis jenis gelembung Java. Walaupun pengisihan gelembung adalah mudah, ia bukan algoritma pengisihan yang cekap Kerumitan masanya ialah O(n^2), dan prestasinya lemah dalam menyusun data berskala besar. Oleh itu, dalam pembangunan sebenar, kami lebih suka menggunakan algoritma pengisihan lain yang lebih cekap, seperti isihan cepat, isihan gabungan, dsb. 🎜

Atas ialah kandungan terperinci Kaedah pembelajaran pantas yang ringkas dan mudah difahami untuk isihan gelembung Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan