原理:
从数组中找到最大(最小)的数放在数组的开头,在剩下的数中继续找到最大(最小)的数放在已经排序好的序列后面,这样反复寻找,直到数组排序完成。
代码:
var examplearr=[8,94,15,88,55,76,21,39];
Array.prototype.selectSort = function(){
var arr = this.concat();
for(var i= 0, len = arr.length; i < len; ++i) {
var index = i;
for(var j = i+1;j<len;++j) {
if(arr[index] > arr[j]) {
index = j;
}
}
var temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
return arr;
}
console.log(examplearr.selectSort()); // 输出 [8, 15, 21, 39, 55, 76, 88, 94]