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
// ]
相关推荐
Irene1991几秒前
JavaScript中的深克隆和浅克隆的区别(“浅克隆”和“浅复制”通常指的是同一个概念)
javascript·深克隆·浅克隆
春日见2 分钟前
端到端自动驾驶综述
linux·人工智能·算法·机器学习·自动驾驶
兔年鸿运Q小Q15 分钟前
vue 使用public数据
前端·javascript·vue.js
wuhen_n18 分钟前
开发环境优化完全指南:告别等待,让开发如丝般顺滑
前端·javascript·vue.js
Book思议-21 分钟前
【数据结构实战】单向循环单链表判别条件理解
c语言·数据结构·算法
时寒的笔记25 分钟前
js逆向入门03_会展中心案例&shuwei观察&ji思录
开发语言·前端·javascript
逆境不可逃26 分钟前
【后端新手谈 04】Spring 依赖注入所有方式 + 构造器注入成官方推荐的原因
java·开发语言·spring boot·后端·算法·spring·注入方式
Book思议-28 分钟前
【数据结构实战】双向链表头插法
c语言·数据结构·链表
执行部之龙29 分钟前
js垃圾回收
javascript·gc回收
森林里的程序猿猿30 分钟前
垃圾收集器ParNew&CMS与底层标记三色标记算法
java·jvm·算法