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
// ]
相关推荐
APIshop13 小时前
高性能采集方案:淘宝商品 API 的并发调用与数据实时处理
linux·网络·算法
松涛和鸣14 小时前
DAY38 TCP Network Programming
linux·网络·数据库·网络协议·tcp/ip·算法
ss27314 小时前
ThreadPoolExecutor七大核心参数:从源码看线程池的设计
java·数据库·算法
怒放的生命199114 小时前
Vue 2 vs Vue 3对比 编译原理不同深度解析
前端·javascript·vue.js
qq_4335545414 小时前
C++ 状压DP(01矩阵约束问题)
c++·算法·矩阵
虫小宝14 小时前
返利app排行榜系统设计:基于大数据计算的实时排名算法实现
大数据·算法
C雨后彩虹14 小时前
字符串拼接
java·数据结构·算法·华为·面试
LYFlied14 小时前
【每日算法】LeetCode 279. 完全平方数(动态规划)
前端·算法·leetcode·面试·动态规划
小北方城市网14 小时前
第7课:Vue 3应用性能优化与进阶实战——让你的应用更快、更流畅
前端·javascript·vue.js·ai·性能优化·正则表达式·json
C雨后彩虹14 小时前
ConcurrentHashMap入门:高并发场景的 HashMap替代方案
java·数据结构·哈希算法·集合·hashmap