iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 5
0

插入排序的主要精神在迴圈抓出每個值,並且向陣列左方的每個值逐一比較大小,如果比較小則將值左右交換,如此最小值會被插入在最前面。

可以先看以下的觀念影片

完整程式碼如下:

function insertionSort(arr){
  for(let i=0;i<arr.length;i++){
    let pickIndex=i;
    const insertValue=arr[i];
    //If the previous value is bigger than this value,we change both.
    while(i>=0 && arr[pickIndex-1] > insertValue){
      [arr[pickIndex],arr[pickIndex-1]]=[arr[pickIndex-1],arr[pickIndex]];
      pickIndex--;
    }
  }
  return arr;
}

const arr=[7,5,1,20,8];
console.log(insertionSort(arr));

程式碼


上一篇
選擇排序法(Selection Sort)
下一篇
希爾排序法(Shell Sort)
系列文
透過JavaScript學習演算法與資料結構30

尚未有邦友留言

立即登入留言