算法笔记系列:插入排序
Posted JavaScript开发者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法笔记系列:插入排序相关的知识,希望对你有一定的参考价值。
插入排序
实现原理:通过遍历比较相应数据来构建有序序列,对于其中未排序的元素,将会被从后至前地与已排序列表中的元素进行依次比较并移动,当找到相应目标位置后被插入。以此类推,直到所有元素均排序完毕。
实现1:
function insertionSort(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = i; j - 1 >= 0; j--) {
if (arr[j] >= arr[j - 1]) {
break;
}
swap(arr, j, j - 1);
}
}
}
function swap(arr, i, j) {
var t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
实现2:
function insertionSort(arr) {
for (var i = 0; i < arr.length; i++) {
var curr = arr[i];
var j;
for (j = i; j - 1 >= 0 && curr < arr[j - 1]; j--) {
arr[j] = arr[j - 1];
}
arr[j] = curr;
}
}
以上是关于算法笔记系列:插入排序的主要内容,如果未能解决你的问题,请参考以下文章