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
// ]
相关推荐
2301_8227032036 分钟前
Flutter 框架跨平台鸿蒙开发 - 创意声音合成器应用
算法·flutter·华为·harmonyos·鸿蒙
cmpxr_1 小时前
【C】数组名、函数名的特殊
c语言·算法
KAU的云实验台1 小时前
【算法精解】AIR期刊算法IAGWO:引入速度概念与逆多元二次权重,可应对高维/工程问题(附Matlab源码)
开发语言·算法·matlab
Cobyte1 小时前
3.响应式系统基础:从发布订阅模式的角度理解 Vue2 的数据响应式原理
前端·javascript·vue.js
会编程的土豆1 小时前
【数据结构与算法】再次全面了解LCS底层
开发语言·数据结构·c++·算法
竹林8181 小时前
从零到一:在React前端中集成The Graph查询Uniswap V3池数据实战
前端·javascript
军军君011 小时前
Three.js基础功能学习十八:智能黑板实现实例五
前端·javascript·vue.js·3d·typescript·前端框架·threejs
Moment1 小时前
AI全栈入门指南:一文搞清楚NestJs 中的 Controller 和路由
前端·javascript·后端
程序员马晓博1 小时前
前端并发治理:从 Token 刷新聊起,一个 Promise 就够了
前端·javascript