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
// ]
相关推荐
垆边人似月.1 分钟前
华为题:编辑距离
算法·华为
会灭火的程序员1 分钟前
大模型部署硬件资源计算指南:从显存估算到显卡选型
人工智能·算法
Logic1017 分钟前
C语言/数据结构字符串题解:解压缩“字符+次数“格式——多位数字处理与字符串还原
c语言·数据结构·字符串·模拟·时间复杂度·空间复杂度·算法题
兰亭妙微UI设计公司8 分钟前
兰亭妙微分享:高手设计登录页的12种切入点
开发语言·前端·javascript
信奥卷王9 分钟前
[GESP202506 六级] 最大因数(含视频)
数据结构·算法
前端Baymax11 分钟前
静默的 86 小时:全链 402 停摆与零告警的故障复盘
开发语言·前端·javascript
局部有解15 分钟前
Leetcode - 42 接雨水(一维)
数据结构·c++·算法·leetcode
VimorphTech20 分钟前
转写结果怎么生成双语字幕?TypeScript 实现 SRT、WebVTT 与索引匹配
javascript·音视频开发
垆边人似月.21 分钟前
华为题:矩阵中的最长递增路径
算法·深度优先
小诗懂技术24 分钟前
linux驱动中断,相关中断的方式与适用场景
linux·arm开发·驱动开发·算法