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
// ]
相关推荐
我胖虎不答应!!9 分钟前
Three.js开发思想笔记
javascript·笔记·three.js
一颗趴菜27 分钟前
微信小程序如何去下载PDF呢
前端·javascript
‎ദ്ദിᵔ.˛.ᵔ₎33 分钟前
C++哈希表
数据结构·c++·散列表
yongui478341 小时前
基于 GA 优化的 BP 神经网络算法分析与 MATLAB 实现
神经网络·算法·matlab
zithern_juejin1 小时前
JS深拷贝与浅拷贝
javascript
阿旭超级学得完2 小时前
C++11(初始化)
java·开发语言·数据结构·c++·算法
黎阳之光2 小时前
黎阳之光:视频孪生硬核赋能,共启数字孪生水利监测新征程
大数据·人工智能·算法·安全·数字孪生
云淡风轻~窗明几净2 小时前
关于角谷猜想的五行小猜想
数据结构·算法
前端毕业班2 小时前
前端"枚举"管理指南
前端·javascript
广州灵眸科技有限公司2 小时前
瑞芯微(EASY EAI)RV1126B openclaw部署接入飞书
linux·网络·人工智能·算法·yolo·飞书