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
// ]
相关推荐
liuyao_xianhui4 分钟前
优选算法_锯齿形层序遍历二叉树_队列_C++
java·开发语言·数据结构·c++·算法·链表
秃头狂魔13 分钟前
【HOT100】DAY2
python·算法
想带你从多云到转晴19 分钟前
03、数据结构与算法--单向链表
java·数据结构·算法
mjhcsp24 分钟前
AT_arc205_c [ARC205C] No Collision Moves 题解
开发语言·c++·算法·题解
Yzzz-F24 分钟前
Problem - 1114C - Codeforces[勒让德公式]
算法
apcipot_rain33 分钟前
HTML知识概述
前端·javascript·html
木井巳40 分钟前
【笔试强训】Day1
java·算法
leiming641 分钟前
巧用 FreeRTOS 任务通知作“邮箱”:NeoPixel 灯环控制实战
java·前端·算法
老四啊laosi42 分钟前
[双指针] 4. 力扣--盛最多水的容器
算法·leetcode·装水最多的容器
wanderist.43 分钟前
高维矩阵的压维存储和高维差分
c++·算法·蓝桥杯