版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
选择排序是一种原地址比较排序的算法。
原理如下图:找到数据结构中最小值然后将其放置在第一位,然后找到第二小的值放到第二位,以此类推。
代码:
//快速排序
var selectionSort = function(array) {
debugger;
var length = array.length,indexMin;
for(var i = 0; i < length-1; i++){
indexMin = i;
for(j = i; j < length; j++){
if(array[indexMin]>array[j]){
indexMin=j
}
}
if(i != indexMin){
exchange(array,i,indexMin)
}
}
console.log(array)
}
//比较元素交换位置
var exchange = function(array,index1,index2) {
var aux =array[index1];
array[index1] = array[index2];
array[index2] = aux
}
selectionSort([4,2,56,7,3,11,8]);
选择排序和冒泡排序一样,会包含两个循环导致二次方的复杂度。