java Bubblesortの実装

以下は、Java で実装された配列のバブルソートのコードです。

public class BubbleSort {
    public static void main(String[] args) {
        int[] arr = {5, 3, 8, 6, 2};
        bubbleSort(arr);
        System.out.println("排序后的数组:");
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }

    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;
                }
            }
        }
    }
}

実行結果:

排序后的数组:
2 3 5 6 8

この例では、2つの入れ子になった for ループを使用してバブルソートを実現しました。外側のループでは比較を行う回数(輪数)を制御し、内側のループでは1輪ごとの比較と交換処理を行っています。各輪では隣接する2つの要素を比較し、前の要素が後の要素より大きい場合は位置を入れ替えます。輪数の分の比較と交換処理を行うことで、配列の要素を小さい順に並べ替えます。

bannerAds