Rumah >Java >javaTutorial >Analisis isihan gelembung Java: versi ringkas dan mudah difahami

Analisis isihan gelembung Java: versi ringkas dan mudah difahami

王林
王林asal
2024-01-05 10:19:12736semak imbas

Analisis isihan gelembung Java: versi ringkas dan mudah difahami

Analisis ringkas dan mudah difahami bagi algoritma isihan gelembung Java

Dalam sains komputer, isihan gelembung ialah algoritma pengisihan yang mudah tetapi tidak cekap. Ia berulang kali melelar melalui elemen yang hendak diisih, membandingkan dua elemen bersebelahan dalam urutan, dan menukarnya jika ia berada dalam susunan yang salah. Proses ini berterusan sehingga keseluruhan jujukan diisih. Algoritma isihan gelembung akan dianalisis secara terperinci di bawah.

Prinsip algoritma pengisihan gelembung adalah untuk menggelembungkan elemen terbesar (atau terkecil) ke penghujung (atau permulaan) jujukan dengan terus membandingkan dan menukar elemen bersebelahan, dan kemudian melakukan operasi yang sama pada elemen yang tinggal sehingga keseluruhan urutan adalah teratur.

Langkah algoritma adalah seperti berikut:

  1. Mulakan dari elemen pertama jujukan dan bandingkan saiz elemen ini dengan elemen seterusnya.
  2. Jika salah order, tukar.
  3. Teruskan membandingkan dengan elemen bersebelahan seterusnya dan ulangi langkah 1 dan 2.
  4. Sehingga traversal melengkapkan satu pusingan, perbandingan lengkap dan pertukaran keseluruhan jujukan dilakukan.
  5. Lakukan semula pusingan pertama perbandingan dan pertukaran dari awal, tetapi kali ini julat yang dilalui tidak termasuk elemen yang diisih.
  6. Ulang langkah 1 hingga langkah 5 sehingga keseluruhan urutan adalah teratur.

Berikut ialah contoh kod algoritma isihan gelembung mudah:

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        boolean swapped;
        for (int i = 0; i < arr.length - 1; i++) {
            swapped = false;
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true;
                }
            }
            if (!swapped) {
                break;
            }
        }
    }
    
    public static void main(String[] args) {
        int[] arr = {5, 3, 8, 2, 1, 4};
        bubbleSort(arr);
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}

Dalam kod di atas, kami mentakrifkan kaedah bubbleSort方法用来实现冒泡排序。swapped变量用来记录是否发生了交换,如果没有发生交换,说明已经排好序,可以提前结束排序。在main Kami mentakrifkan tatasusunan integer dan mengisihnya, dan kemudian mengeluarkan tatasusunan yang diisih melaluinya. hasil.

Di atas ialah analisis ringkas dan mudah difahami bagi algoritma isihan gelembung dan kod sampel Java yang sepadan. Walaupun isihan gelembung mempunyai kerumitan masa yang tinggi, ia adalah sangat mudah dan intuitif untuk mengisih beberapa set data berskala kecil.

Atas ialah kandungan terperinci Analisis isihan gelembung Java: versi ringkas dan mudah difahami. 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