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つの要素を比較し、前の要素が後の要素より大きい場合は位置を入れ替えます。輪数の分の比較と交換処理を行うことで、配列の要素を小さい順に並べ替えます。