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
// ]
相关推荐
haoly198919 分钟前
数据结构和算法篇-线性查找优化-移至开头策略
数据结构·算法·移至开头策略
記億揺晃着的那天2 小时前
Vue + Element UI 表格自适应高度如何做?
javascript·vue.js·ui
GISer_Jing3 小时前
ByteDance——jy真题
前端·javascript·面试
真的想不出名儿3 小时前
Vue 中 props 传递数据的坑
前端·javascript·vue.js
阳光阴郁大boy3 小时前
星座运势网站技术解析:从零打造现代化Web应用
前端·javascript
学Linux的语莫4 小时前
机器学习数据处理
java·算法·机器学习
sorryhc4 小时前
如何设计一个架构良好的前端请求库?
前端·javascript·架构
Queen_sy4 小时前
vue3 el-date-picker 日期选择器校验规则-选择日期范围不能超过七天
javascript·vue.js·elementui
lvchaoq4 小时前
react 修复403页面无法在首页跳转问题
前端·javascript·react.js
earthzhang20214 小时前
【1007】计算(a+b)×c的值
c语言·开发语言·数据结构·算法·青少年编程