选择排序
选择排序从数组的第一个元素开始,将第一个元素与其他元素进行比较。检查完所有元素后,最小的元素放在数组的第一个位置,然后算法从第二个位置继。这个过程一直继续,直到进行到数组的倒数第二个元素,所有数据排序完成。
1.代码实现(JS)
function selectSort(arr) {
let min, temp;
for (var i = 0; i <= arr.length - 1; i++) {
min = i;
for (var j = i + 1; j <= arr.length; j++) {
if (arr[min] > arr[j]) {
min = j; //保存最小数索引
}
}
// 将当前已排序最小数arr[i]与刚刚查询到的最小数arr[min]互换位置
//(arr[i]>arr[min])
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
return arr;
}
2.时间复杂度:
(n-1)+(n-2)+(n-3)…+1=n*(n-1)/2=O(n^2)