选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。
代码实现
function selectionSort(arr){
let minIndex=0;
let temp='';
for(let i=0;i<arr.length-1;i++){
minIndex=i;
// 上一趟循环应找到最小值了,所以可以从下一位接着重新找剩下的最小的值
for(let k=i+1;k<arr.length;k++){
if(arr[k]<arr[minIndex]){
minIndex=k;
}
}
temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
return arr;
}
var arr=[1,2,333,100,34,6,78,0];
console.log(selectionSort(arr));
选择排序的思考
- 选择排序也不稳定。
- 选择排序内外两层循环必须循环完。