原理:对整个为排序的数列分为两个部分,一部分是已经排序好的,一部分是没有排序好的,每次都从还未排序好的数列中去除一个数,插入到已经排序好的数列之中,直到未排序的数列为零;
* 在排序过程中,一般默认将数列的第一个数作为已经排序好的数列,将剩余作为未排序好的数列
数列:[ 9,8,,7,6,5,4,3,2,1]
将整个数列分为两部分:
已排序好的:9
未排序好的:8 7 6 5 4 3 2 1
从未排序好的中取出一个数,插入到排序好的数列中
已排序好的:8 9
未排序好的:7 6 5 4 3 2 1
再从未排序好的中取出一个数,插入到排序好的数列中
已排序好的:7 8 9
未排序好的:6 5 4 3 2 1
依次类推,直到所有数据都排序完成。
JS代码实现:
var arr=[9,8,7,6,5,4,3,2,1];for(var i=1;i<arr.length;i++){ var temp=arr[i]; var j=i-1; while(j>=0&&arr[j]>temp){ arr[j+1]=arr[j]; arr[j]=temp; j--; } arr[j+1]=temp; }console.log(arr); 输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
相关推荐:
JS实现的计数排序与基数排序算法示例_javascript技巧
以上是JS插入排序详解的详细内容。更多信息请关注PHP中文网其他相关文章!