1. 算法思想
简单选择排序是一种基本的排序算法,
它的思想是
- 每次从待排序的序列中选择一个最小(或最大)的元素,放到已排序的序列末尾,直到所有元素都排好序。
它的时间复杂度是O(n^2),空间复杂度是O(1)。
2. 图解
3. JAVA实现
下面是简单选择排序的JAVA实现:
public class SelectionSort {
public static void sort(int[] arr) {
// 遍历数组,每次找出最小的元素
for (int i = 0; i < arr.length - 1; i++) {
// 记录最小元素的索引
int minIndex = i;
// 从i+1开始,比较剩余的元素
for (int j = i + 1; j < arr.length; j++) {
// 如果找到更小的元素,更新最小索引
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// 如果最小索引不是i,交换两个元素
if (minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
public static void main(String[] args) {
// 测试数组
int[] arr = {5, 3, 7, 9, 1, 4, 6, 8, 2};
// 调用排序方法
sort(arr);
// 打印排序后的结果
for (int num : arr) {
System.out.print(num + " ");
}
}
}