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
// ]
相关推荐
codingWhat8 分钟前
介绍一个手势识别库——AlloyFinger
前端·javascript·vue.js
Lee川8 分钟前
深度拆解:基于面向对象思维的“就地编辑”组件全模块解析
javascript·架构
进击的尘埃16 分钟前
Web Worker 与 OffscreenCanvas:把主线程从重活里解放出来
javascript
codingWhat20 分钟前
手撸一个「能打」的 React Table 组件
前端·javascript·react.js
进击的尘埃20 分钟前
用 TypeScript 的 infer 搓一个类型安全的深层路径访问工具
javascript
yuki_uix22 分钟前
Object.entries:优雅处理 Object 的瑞士军刀
前端·javascript
Lee川23 分钟前
JavaScript 面向对象编程全景指南:从原始字面量到原型链的终极进化
javascript·面试
千寻girling5 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
Neptune15 小时前
JavaScript回归基本功之---类型判断--typeof篇
前端·javascript·面试
进击的尘埃5 小时前
微前端沙箱隔离:qiankun 和 wujie 到底在争什么
javascript