图解
以下是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(Arrays.toString(arr));
}
}
输出结果为:[11, 12, 22, 25, 64]
。
在这个示例中,selectionSort
方法接受一个整型数组作为参数,并使用选择排序算法对其进行排序。算法的基本思想是在未排序部分中查找最小元素,并将其与当前未排序部分的首个元素交换位置,重复这个过程直到整个数组有序。最后,main
方法中的示例代码将一个未排序的整型数组传递给selectionSort
方法,并输出排序后的结果。