选择排序
选择排序
-
原理
- 第一次从数据中选出最小的元素,放置序列的起始位置 \([0,n-1]\)
- 第二次从数据中选出最小的元素,放置序列第二个位置 \([0,n-2]\)
- ...
-
排序过程
-
原始序列:{7, 1, 3, 2, 5, 8} 第一次:{1,7,3,2,5,8} 第二次:{1,2,3,7,5,8} 第三次:{1,2,3,7,5,8} 第四次:{1,2,3,5,7,8}
-
代码实现
public class Solution {
public void selectSort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len; i++) {
int minIndex = i;
for (int j = i + 1; j < len; j++) {
minIndex = arr[minIndex] > arr[j] ? j : minIndex;
}
// 交换两个元素
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
}