「Java」配列の要素をバブルソートするサンプル
構文
バブルソートは配列の中の隣り合う要素を比較し順序が逆であればそれらを交換するということを繰り返すことで整列を行う方法です。
使用例
キーボードからランダムに10個の整数を入力して昇順にソートします。
import java.util.*;
public class SecondClass {
public static void main(String[] args) {
//整数型配列の定義
int[] aNum = new int[10];
//オブジェクトのインスタンス化
Scanner sc = new Scanner(System.in);
//整数を入力
for (int i = 0; i < 10; i++) {
aNum[i] = sc.nextInt();
}
//バブルソート
for (int i = 1; i < 10; i++) {
for (int j = 9; j >= i; j--) {
if (aNum[j] < aNum[j - 1]) {
//バブルソートアルゴリズム
aNum[j] = aNum[j] ^ aNum[j - 1];
aNum[j - 1] = aNum[j] ^ aNum[j - 1];
aNum[j] = aNum[j] ^ aNum[j - 1];
}
}
}
//出力
System.out.print("昇順ソート:");
for (int i = 0; i < 10; i++) {
System.out.print(aNum[i] + " ");
}
}
}
実行結果
整数を入力: 20 40 90 80 78 38 24 84 8 21 昇順ソート: 8 20 21 24 38 40 78 80 84 90