JavaScript 实现插入排序算法详解
作者:闭包旅人时间:2026-10-26 11:51:07浏览:328
本文详细介绍插入排序算法在 JavaScript 中的实现方式。通过维护一个有序列表,逐步将原数列元素插入正确位置,最终完成排序。虽然平均时间复杂度为平方级,但该算法逻辑简单、易于实现,适合小规模数据排序场景。
插入排序算法概述
插入排序
插入排序的具体实现逻辑如下:
首先创建一个空数组,用于存储已排序的有序序列(以下简称“有序列表”)。
从原始数列中依次取出一个元素,将其插入到“有序列表”的合适位置,以确保“有序列表”始终保持有序状态。
重复第2号步骤,直至原数列为空。
插入排序的平均时间复杂度为 O(n²),属于平方级复杂度,整体效率不高,但实现起来相对容易。该算法核心思想是“逐步扩大成果”,通过不断延长“有序列表”的长度,直到其长度等于原始列表的长度。
(引自百度百科)
JavaScript 代码实现
JavaScript 代码实现
代码如下:
<script type="text/javascript">
var org = [5, 4, 3, 2, 1, 6, 7, 9, 8, 10];
var tempArr = new Array();
for (var i = 0; i < org.length; i++) {
if (i == 0) {
tempArr[0] = org[0]; //把第一个元素放到新序列
} else {
for (var j = 0; j < tempArr.length; j++) {
if (org[i] > tempArr[j]) {
//如果是新序列的最后一个元素,则插入
if (j == tempArr.length - 1) {
tempArr[j + 1] = org[i];
break;
} else {//如果不是最后一个元素,则往后移动
continue;
}
} else {
//移动新序列、然后插入
for (var k = tempArr.length - 1; k >= j; k--) {
tempArr[k + 1] = tempArr[k];
}
tempArr[j] = org[i];
break;
}
}
}
}
alert(tempArr);
</script>作者最新文章
怎么用 Promise 封装 JavaScript sleep 函数实现异步延时
2026-11-05 17:49:14
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
