Javaで選択ソートのコードをどのように書くか
これは単純なJavaの選択ソートアルゴリズムのコード例です。
public class SelectionSort {
public static void main(String[] args) {
int[] array = {5, 2, 6, 1, 3, 4}; // 待排序的数组
selectionSort(array); // 调用选择排序算法进行排序
for (int num : array) {
System.out.print(num + " "); // 输出排序后的数组
}
}
public static void selectionSort(int[] array) {
int n = array.length;
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (array[j] < array[minIndex]) {
minIndex = j;
}
}
swap(array, i, minIndex); // 将当前位置的数与最小值交换
}
}
public static void swap(int[] array, int i, int j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
このコード例では、整数の配列をパラメータとして受け取る選択ソート関数selectionSortを定義しています。この関数は、選択ソートのロジックを実装するために2つのループを使用しています。外側のループは配列内の各要素を反復処理するために使用され、内側のループは未ソート部分から最小の要素を検索するために使用されます。最小の要素のインデックスはminIndex変数に保存されます。内側のループが終了した後、現在の位置の数値を最小値と交換するためにswap関数を呼び出します。最後に、main関数でselectionSort関数を呼び出し、ソートされた配列を出力します。