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
// ]
相关推荐
code bean19 分钟前
【C#】 `Channel<T>` 深度解析:生产者-消费者模式的现代解法
数据结构·c#
郝亚军33 分钟前
webstorm如何创建vue 3.js
javascript·vue.js·webstorm
এ慕ོ冬℘゜36 分钟前
jQuery attr() 方法超详细讲解:属性获取、赋值、实战踩坑全解
前端·javascript·jquery
中微极客1 小时前
降维算法75倍加速:从PCA到稀疏字典学习的工程实践
人工智能·学习·算法
storyseek1 小时前
前缀和实现Kogge-Stone算法
数据结构·算法
元Y亨H2 小时前
开发者必须掌握的十大核心算法
算法
元Y亨H2 小时前
深度解构:数据结构与算法的理论基石与工程演进
数据结构·算法
Hilaku2 小时前
为什么大厂对前端算法要求极高?
前端·javascript·程序员
元Y亨H2 小时前
数据结构与算法的通俗指南
数据结构·算法
你可如意2 小时前
从Promise开始,一篇让你彻底建立起JS的异步编程模型
javascript