选择排序是一种简单的排序算法,它的主要思路是从未排序的元素中选择一个最小值,将其放置在已排序部分的末尾。重复该过程直到所有元素都被排序。以下是使用 Java 实现选择排序算法的示例代码:
public class SelectionSort {
public static void main(String[] args) {
int[] arr = {64, 25, 12, 22, 11};
selectionSort(arr);
System.out.println("排序后的数组:");
for(int i=0; i<arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
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;
}
}
}
在这个实现中,我们使用了两个循环:外循环从数组的第一个元素开始,内循环从数组的下一个元素开始,寻找未排序部分的最小值,并将其交换到已排序部分的末尾。时间复杂度为 O(n^2),其中 n 是数组的长度。