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 分钟前
18.矩阵同行同列全置零
数据结构·c++·算法·力扣
研☆香3 分钟前
JS中的三种显示弹窗
开发语言·前端·javascript
副露のmagic3 分钟前
更弱智的算法学习 day48
学习·算法
汽车仪器仪表相关领域7 分钟前
双组分精准快检,汽修年检利器:MEXA-324M汽车尾气测量仪项目实战全解
大数据·人工智能·功能测试·测试工具·算法·机器学习·压力测试
猛扇赵四那边好嘴.9 分钟前
Flutter 框架跨平台鸿蒙开发 - 问答社区应用开发教程
开发语言·javascript·flutter·华为·harmonyos
C_心欲无痕11 分钟前
Next.js 路由系统对比:Pages Router vs App Router
开发语言·前端·javascript
赫凯16 分钟前
【强化学习】第六章 Dyna-Q 算法
算法
程序员-King.17 分钟前
day154—回溯—分割回文串(LeetCode-131)
算法·leetcode·深度优先·回溯
程序员-King.17 分钟前
day155—回溯—组合(LeetCode-77)
算法·leetcode·回溯
DO_Community20 分钟前
技术解码:Character.ai 如何实现大模型实时推理性能 2 倍提升
人工智能·算法·llm·aigc·moe·aiter