有必要重新整理一下排序算法,重新理解一下吧

原博主Youtube首页 https://www.youtube.com/user/mikeysambol/

插入排序的方式可以想象成整理扑克牌的方式,想象下,当你手里有一副牌时,每次都会从右边拿出一张然后挨个和前面的比对,找到位置后就放进去,插入排序的就是这样做的。

动图示例:

GIF

看这图我们会发现,这种算法会频繁的交换元素的位置:

js代码:

function insertSort(arr) {
  for (let i = 0; i < arr.length; i++) {
    let j = i
    while (j > 0) {
      if (arr[j] < arr[j - 1]) {
        let temp = arr[j]
        arr[j] = arr[j - 1]
        arr[j - 1] = temp
      }
      j--
    }
  }
  return arr
}

觉得作者写得不错?不妨轻击下方按钮~

赏点银子给楼主凑凑买咖啡喝吧
微信
支付宝
扫码打赏,建议金额1-10元

Copied From 畅言