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
// ]
相关推荐
La Pulga12 小时前
【FreeRTOS源码学习笔记】链表的实现
数据结构·笔记·stm32·mcu·链表·嵌入式·freertos
Keep_Trying_Go12 小时前
Consistent-Point半监督人群计数算法详解
人工智能·深度学习·算法·计算机视觉·人群计数
在所不辞兄12 小时前
【零基础学智能仿真-69】综合项目——材料参数驱动的仿真研究
人工智能·深度学习·神经网络·算法·机器学习·1024程序员节
栉甜13 小时前
Vue2学习内容(上)
前端·javascript·vue.js·学习
番茄味城市甜菜14 小时前
数据结构:双向链表实现,链表与顺序表的对比
数据结构·链表
怕浪猫14 小时前
Super-agent 在各大模型厂商的应用情况
算法·面试·github
海绵宝宝转agent14 小时前
LeetCode100 二叉树个人题解
算法·leetcode·深度优先
octopus_c14 小时前
C++ 模板详解:函数模板、类模板、特化与分离编译
开发语言·c++·算法
東隅已逝,桑榆非晚14 小时前
算法1. 双指针法-移动零
c++·算法
shmily麻瓜小菜鸡15 小时前
TypeScript 知识点补充(第三部分:工程化与高级类型)
前端·javascript·typescript