はじめに
バブルソートというシンプルなソートアルゴリズムを使用して、整数配列を昇順にソートする方法を学習したのでアウトプットします。この記事では、Java言語を使用してソート処理を実装します。
バブルソートとは
バブルソートは、隣接する要素を比較して順序が逆であれば交換する操作を繰り返すことで、配列をソートするアルゴリズムです。比較と交換を繰り返すことで、大きい要素が徐々に右端に移動し、最終的には整列された配列が得られます。
ソート処理の実装
以下に、Java言語を使用して配列をバブルソートでソートするコードを示します。
バブルソート
public class Task {
public static void main(String[] args) {
int[] nums = {40, 84, 10, 37, 24, 3, 58, 29, 76, 55};
// バブルソートでソートする
// forで要素の数分繰り返し
for (int i = 0; i < nums.length; i++) {
// 比較のため要素の数分繰り返し
// 比較範囲を徐々に狭めていくため nums.length -i が必要
// 内側の処理で要素数 +1 が実行されるため、配列の範囲外にアクセスしないように -1 が必要
for (int j = 0; j < nums.length - i - 1; j++) {
// 元の要素と次の要素と比較
if (nums[j] > nums[j + 1]) {
// 元の要素より次の要素が小さい場合は一時変数に元の要素の値を代入
int temp = nums[j];
// 元の要素を次の要素で上書き
nums[j] = nums[j + 1];
// 一時変数に代入していた元の要素で次の要素を上書き
nums[j + 1] = temp;
// 繰り返し
}
}
}
// ソート結果の表示
System.out.println("ソート結果:");
for (int num : nums) {
System.out.print(num + " ");
}
}
}
このコードでは、バブルソートアルゴリズムを使用して配列 nums を昇順にソートしています。内側のループで隣接する要素を比較し、必要に応じて交換を行います。外側のループは、ソート済みの要素が右端に確定するまで繰り返します。
実行結果
上記のコードを実行すると、以下のような出力結果が得られます。
ソート結果の表示
ソート結果:
3 10 24 29 37 40 55 58 76 84
ソートされた配列が表示されます。
まとめ
バブルソートは、シンプルで理解しやすいソートアルゴリズムとされています。この記事では、Javaを使用してバブルソートの実装方法を紹介しました。この記事が何かのお役に立てれば幸いです。