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
// ]
相关推荐
CCPC不拿奖不改名几秒前
面向对象编程:继承与多态+面试习题
开发语言·数据结构·python·学习·面试·职场和发展
꧁Q༒ོγ꧂2 分钟前
算法详解(二)--算法思想基础
java·数据结构·算法
꧁Q༒ོγ꧂3 分钟前
算法详解(一)--算法系列开篇:什么是算法?
开发语言·c++·算法
橘颂TA3 分钟前
【剑斩OFFER】算法的暴力美学——力扣:1047 题:删除字符串中的所有相邻重复项
c++·算法·leetcode·职场和发展·结构于算法
2301_800256113 分钟前
R-Tree创建与遍历,R-Tree在4类空间查询中的应用,实现4类空间查询的各类算法[第8章]
数据库·算法·机器学习·postgresql·r-tree
BFT白芙堂10 分钟前
基于 GPU 并行加速的 pRRTC 算法:赋能 Franka 机械臂的高效、稳定运动规划
人工智能·深度学习·算法·机器学习·gpu·具身智能·frankaresearch3
牛老师讲GIS10 分钟前
多边形简化讲解:从四大核心算法到 Mapshaper 自动化实战
网络·算法·自动化
南玖i16 分钟前
SuperMap iServer + vue3 实现点聚合 超简单!
javascript·vue.js·elementui
炽烈小老头16 分钟前
【每天学习一点算法 2026/01/08】计数质数
学习·算法
h7ml17 分钟前
企业微信通讯录同步服务的增量更新算法与冲突解决策略
服务器·算法·企业微信