JavaScript插入排序算法原理与实现方法示例

网络编程 2025-03-23 19:01www.168986.cn编程入门

=======================

-

--

```javascript

function insertionSort(arr) {

var temp; // 用于元素交换的临时变量

for (var i = 1; i < arr.length; i++) { // 从数组的第二个元素开始遍历

temp = arr[i]; // 保存当前元素的值

var j = i - 1; // 从当前元素的前一个元素开始向前查找位置

while (j >= 0 && arr[j] > temp) { // 如果前一个元素大于当前元素,则交换两者的位置

arr[j + 1] = arr[j]; // 将前一个元素向后移动一位

j--; // 继续向前查找位置

}

}

return arr; // 返回排序后的数组

}

```

使用示例:

```javascript

var a = [11, 2, 3, 445, 7, 32, 71, 8, 94]; // 待排序数组

console.log(insertionSort(a)); // 输出排序后的数组 [2, 3, 7, 8, 11, 32, 71, 94, 445]

```

三、注意事项与说明

1. 一旦发现`arr[j+1]`的值不比前面的值小,就可以结束内层循环了。`break`语句用于实现这一功能。这可以避免不必要的比较操作,提高算法效率。

上一篇:ASP.NET中的Cache使用介绍 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by