選択ソートは、リスト内の最小値を見つけて先頭に配置し、次に残りのリストを対象に同じ操作を繰り返すことで、リスト全体をソートします。
以下に、Javaでの選択ソートの実装例を示します。
public class SelectionSort {
public static void selectionSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
public static void main(String[] args) {
int[] arr = {64, 25, 12, 22, 11};
selectionSort(arr);
System.out.println("Sorted array:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
上記のコードでは、selectionSort
メソッドが選択ソートの実装を行っています。arr
配列を引数として受け取り、ソートされた結果を元の配列に格納します。main
メソッドでは、適当な数値の配列を用意し、selectionSort
メソッドを呼び出してソートを行い、結果を表示しています。
選択ソートは、リストの要素数が増えるにつれて効率が低下する傾向があります。そのため、大規模なデータセットをソートする場合は、他の高速なソートアルゴリズムを検討することが推奨されます。
このように、Javaでの選択ソートの実装方法と例を紹介しました。選択ソートは基礎的なソートアルゴリズムの一つですが、プログラミングの学習やアルゴリズム理解の一環として役立つでしょう。