JavaScript實現:插入排序!!!

帥帥鄔同學發表於2020-12-23

插入排序的思路(原理就跟打牌的時候,揭牌並整理牌):

  1. 從第二個數開始往前比
  2. 比它大就往後排
  3. 以此類推進行到最後一個數

排序動畫地址:

排序動畫

話不多說,上程式碼!!!

Array.prototype.insertionSort = function () {
  for (let i = 1; i < this.length; i++) {
    const temp = this[i];
    let j = i;
    while (j > 0) {
      if (this[j - 1] > temp) {
        this[j] = this[j - 1];
      } else {
        break;
      }
      j--;
    }
    this[j] = temp;
  }
};
const arr = [5, 4, 3, 2, 1];
arr.insertionSort();
console.log(arr);

時間複雜度:

兩個巢狀迴圈,故插入排序的時間複雜度是O(n^2)

怎麼樣,是不是很簡單,你學會了嗎?

插入排序

插入排序

如果這篇文章能夠幫助到您,希望您不要吝惜點贊??和收藏??,您的支援是我繼續努力的動力 ??!!!

相關文章