JavaScript 实现插入排序算法详解

作者:闭包旅人

时间:2026-10-26

浏览:327

本文详细介绍插入排序算法在 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>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章