插入排序史上最经典的实现方式
Posted 我想月薪过万
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序史上最经典的实现方式相关的知识,希望对你有一定的参考价值。
插入排序的原理
插入排序的代码实现
- 循环法
let arrayData = [44, 3, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48];
let insertSort = (arr) =>
//对于第0个元素 只有一个元素,所以没有比的必要,我们就从第1个元素开始
for (let i = 1; i < arr.length; i++)
//取出遍历到的元素
let temp = arr[i];
let j;
//与之前面的元素对比
for (j = i - 1; j >= 0; j--)
//找到比其小的就退出循环
if (temp >= arr[j]) break;
arr[j + 1] = arr[j];
arr[j + 1] = temp;
insertSort(arrayData);
console.log(arrayData);
- 递归法
let arrayData = [44, 3, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48];
let insertSort = (arr, index) =>
if (index >= arr.length) return;
let temp = arr[index];
let i;
for (i = index - 1; i >= 0; i--)
if (arr[i] <= temp) break;
arr[i + 1] = arr[i];
arr[i + 1] = temp;
insertSort(arr, ++index);
insertSort(arrayData, 1);
console.log(arrayData);
- 效果展示
以上是关于插入排序史上最经典的实现方式的主要内容,如果未能解决你的问题,请参考以下文章