从数组中找到最小的一个数字,和数组第一个数字交换,如此反复操作即可实现排序。时间复杂度O(n^2),是稳定的排序算法。
代码
void selectSort(int[] arr){
if (arr == null || arr.length == 0) {
return;
}
for (int i = 0; i < arr.length; i++) {
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
swap(arr, minIndex, i);
}
}
}
网友评论