javascript選擇排序

選擇排序也是一種簡單直觀的排序算法。算法

算法原理

  • 初始時在序列中找到最小(大)元素,放到序列的起始位置做爲已排序序列。
  • 再從剩餘未排序元素中繼續尋找最小(大)元素,放到已排序序列的末尾。
  • 依次類推,直到全部元素均排序完畢。

注意:選擇排序和冒泡排序的區別:冒泡排序經過依次交換相鄰兩個順序不合法的元素位置,從而將當前最小(大)元素放到合適的位置。選擇排序每遍歷依次都記住了當前最小(大)元素的位置,最後僅需一次交換操做便可將其放到合適的位置。
圖片描述數組

代碼實現

  • 選擇排序實現數組從小到大排序
function mintomax(par){
  for(var i=0; i<par.length-1; i++){
    for(var j=i+1; j<par.length; j++){
      if(par[j]<par[i]){
        var temp;
        temp=par[j];
        par[j]=par[i];
        par[i]=temp;
      }
    }
  }
  return par;
}
var arr = [11, 2, 3, 445, 7, 32, 71, 8, 94];
console.log(mintomax(arr));
  • 選擇排序實現數組從大到小排序
function maxtomin(par){
  for(var i=0; i<par.length-1; i++){
    for(var j=i+1; j<par.length; j++){
      if(par[j]>par[i]){
        var temp;
        temp=par[j];
        par[j]=par[i];
        par[i]=temp;
      }
    }
  }
  return par;
}
var arr = [11, 2, 3, 445, 7, 32, 71, 8, 94];
console.log(maxtomin(arr));
  • 上面代碼排序以後結果

圖片描述

相關文章
相關標籤/搜索