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
// ]
相关推荐
前端小白在前进17 小时前
力扣刷题:千位分割数
javascript·算法·leetcode
free-elcmacom17 小时前
机器学习高阶教程<11>当数据开始“折叠”:流形学习与深度神经网络如何发现世界的隐藏维度
人工智能·python·神经网络·学习·算法·机器学习·dnn
Hilaku17 小时前
那个把代码写得亲妈都不认的同事,最后被劝退了🤷‍♂️
前端·javascript·代码规范
小年糕是糕手17 小时前
【C/C++刷题集】string类(一)
开发语言·数据结构·c++·算法·leetcode
Dragon Wu17 小时前
TanStack Query(React Query) 常用api及操作总结
前端·javascript·前端框架
努力学算法的蒟蒻17 小时前
day40(12.21)——leetcode面试经典150
算法·leetcode·面试
ToddyBear18 小时前
从字符游戏到 CPU 指令集:一道算法题背后的深度思维跃迁
数据结构·算法
光影少年18 小时前
前端算法新手如何刷算法?
前端·算法
喵个咪18 小时前
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:用 JavaScript/Lua 解锁动态业务扩展能力
javascript·go·lua
Andyshengwx18 小时前
图论 最小生成树 MST问题
c++·算法·图论