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
// ]
相关推荐
strive-debug1 分钟前
上篇:《排序算法的奇妙世界:如何让数据井然有序?》
数据结构·算法·排序算法
徒步青云6 分钟前
七大排序算法及其优化
算法·排序算法
蔡蓝25 分钟前
jwt的无感刷新
算法·哈希算法
kovli38 分钟前
红宝书第十一讲:超易懂版「ES6类与继承」零基础教程:用现实例子+图解实现
前端·javascript
bst@微胖子39 分钟前
Flutter项目之设置页
android·javascript·flutter
PHASELESS41142 分钟前
Java堆结构深度解析:原理、实现与应用全指南
java·开发语言·数据结构
尘寰ya1 小时前
如何实现一个“纯净”的空对象(无原型链属性)?
javascript·面试·原型模式
DXM05211 小时前
牟乃夏《ArcGIS Engine地理信息系统开发教程》学习笔记2
开发语言·javascript·笔记·学习·arcgis·ae
杀神lwz1 小时前
数据结构和算法(六)--栈&队列&堆
数据结构
D哈迪斯1 小时前
vue动态组件实现动态表单的方法
前端·javascript·vue.js