8.手写JavaScript插入排序

一、核心思路

从第二个元素开始,将每个元素插入到已排序的数组中的适当位置,直到整个数组排序完成。

二、代码实现

javascript 复制代码
let arr = [2,6,8,1,3,9,0,5,4,7]
/**
 * 插入排序 
 * @param {Array} array 传入数组 
 * @return {Array} array 返回选择排序结果 
 */
function insertSort(array){
  for (let i = 0; i < array.length; i++) {
    let curElement = array[i]
    let j = i
    while (j>=0&&curElement<=array[j-1]) {
      array[j] = array[j-1]
      array[j-1] = curElement
      --j
    }
  }
return array
}
console.log(insertSort(arr))
// [
//   0, 1, 2, 3, 4,
//   5, 6, 7, 8, 9
// ]
相关推荐
东方-教育技术博主2 分钟前
IDEA 配置electron开发环境
前端·javascript·electron
wuk9982 分钟前
MATLAB中求解和分析马蒂厄方程
人工智能·算法·matlab
Wang2012201316 分钟前
LSTM和Transformer对比
人工智能·算法·架构
KingRumn21 分钟前
Linux进程间通信之D-Bus
linux·算法
fufu031123 分钟前
Linux环境下的C语言编程(四十九)
linux·c语言·算法
C_心欲无痕27 分钟前
react - 组件之间的通信
前端·javascript·react.js
Lupino29 分钟前
Node.js 与 Haskell 混合网络编程踩坑记:TCP 粘包与状态不一致引发的“死锁”
javascript·node.js
YGGP30 分钟前
【Golang】LeetCode198. 打家劫舍
算法·leetcode
啊阿狸不会拉杆32 分钟前
《数字图像处理》实验6-图像分割方法
图像处理·人工智能·算法·计算机视觉·数字图像处理
YGGP33 分钟前
【Golang】LeetCode 152. 乘积最大子数组
算法·leetcode