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
// ]
相关推荐
fengenrong3 分钟前
20260324
c++·算法
qq_416018724 分钟前
设计模式在C++中的实现
开发语言·c++·算法
倾心琴心8 分钟前
【agent辅助pcb routing coding学习】实践9 CU GR 代码 算法学习
算法·agent·pcb·eda·routing
数据智能老司机8 分钟前
谷歌 TurboQuant 深度拆解:LLM 内存压缩 6 倍、推理加速 8 倍、零精度损失,它是怎么做到的?
算法
终端鹿16 分钟前
Vue3 核心 API 补充解析:toRef / toRefs / unref / isRef
前端·javascript·vue.js
英俊潇洒美少年18 分钟前
vue的事件循环
前端·javascript·vue.js
GISer_Jing19 分钟前
Next.js全栈开发实战与面试指南
前端·javascript·react.js
2301_7765087223 分钟前
C++与机器学习框架
开发语言·c++·算法
进击的尘埃24 分钟前
WASM 替代服务端的场景探索
javascript
Albertbreak29 分钟前
STL容器内部实现剖析
开发语言·c++·算法