下面是使用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[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
public static void main(String[] args) {
int[] arr = {5, 2, 8, 3, 1, 6};
selectionSort(arr);
System.out.println("排序后的数组:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
在这个示例中,我们通过selectionSort
方法实现了选择排序算法。算法的关键是从未排序部分选择最小的元素,并将其与未排序部分的第一个元素交换位置。通过这种方式,每次迭代都会将未排序部分的最小元素放到已排序部分的末尾。重复这个过程,直到整个数组排序完成。
在main
方法中,我们测试了选择排序算法的实现。输出结果为排序后的数组。