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 小时前
AI+货物追踪:集装箱智能追踪系统
人工智能·深度学习·算法·机器学习
大家的林语冰3 小时前
Rust 再次打败 Go,Astro 7 首发,什么叫“万物皆可锈化“!
前端·javascript·性能优化
researcher-Jiang3 小时前
栈的模板类与基本应用(还差栈混洗)
算法
kyle~3 小时前
Schema---数据结构的形式化规则描述
数据结构·windows·microsoft
用户938515635073 小时前
从零打造你的第一个智能体(Agent):*手写一个能自主建项目的Mini Cursor (三)
javascript·人工智能·后端
aichitang20243 小时前
Claude fable 5与GPT5.5模型能力实测
javascript·css·人工智能·ai·html·html5
多加点辣也没关系3 小时前
JavaScript|第6章:流程控制语句
开发语言·前端·javascript
用户938515635073 小时前
手写迷你 Cursor 终端:深入 Node.js child_process 的 spawn 核心实现
javascript·后端
Csvn4 小时前
AbortController 不止能取消 Fetch!3 个你不知道的隐藏用法
前端·javascript
大流星4 小时前
LangChainJS之Runnable(三)
javascript·langchain