选择排序(Selection sort)
一. 算法思想
把第i个作为最小的元素min,遍历后面的元素,记录小于a[i]的元素下标,即min = j ,若遍历完后i不等于min,则交换,这样第一趟就把最小的元素放到了a[0]的位置。
二. 稳定性和时间复杂度
- 不稳定
- o(n^2)
三. 代码实现
var a = [43, 65, 4, 23, 6, 98, 2, 65, 7, 79];
for(var i = 0;i<a.length-1;i++){
var min = i;
for(var j = i+1;j<a.length;j++){
if(a[j]<a[min]){
min = j;
}
}
if(i!=min){
var temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
console.log(a); // [ 2, 4, 6, 7, 23, 43, 65, 65, 79, 98 ]