選擇排序跟冒泡有點類似,冒泡是比較相鄰兩個元素的大小,并交換元素,選擇排序則是比較相鄰元素的大小以后,記錄最小元素在數組中的位置,在每趟循環(huán)結束以后交換一次元素
選擇排序每趟循環(huán)只交換了一次元素,因此效率比冒泡排序更高。選擇排序在所有情況下都具有二次時間復雜度。
var array = [];
(function createArray(size) {
array.push(+(Math.random() * 100).toFixed(0));
return (size > 1) ? createArray(size - 1) : undefined;
})(12);
function selectionSort(array) {
// change code below this line
for (var i = 0; i < array.length; i++) {
var indexMin=i;
for(var j=i+1;j<array.length;j++){
if (array[j]>array[indexMin]) {
indexMin=j;
}
var temp=array[indexMin];
array[j]=temp;
}
}
// change code above this line
return array;
}
selectionSort(array);
更多建議: