實現選擇排序

2018-09-11 02:05 更新

選擇排序跟冒泡有點類似,冒泡是比較相鄰兩個元素的大小,并交換元素,選擇排序則是比較相鄰元素的大小以后,記錄最小元素在數組中的位置,在每趟循環(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);
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號