首页 > 编程语言 > 详细

插入排序

时间:2019-05-30 11:52:48      阅读:134      评论:0      收藏:0      [点我收藏+]
这个一种比冒泡排序更加便捷的一种排序方法
<script>

插入排序法的原理:
原理是每插入一个数都要将它和之前的已经完成排序的序列进行重新排序,也就是要找到新插入的数对应原序列中的位置。那么也就是说,每次插入一个数都要对原来排序好的那部分序列进行重新的排序。

// 从小到大排序
var array = [2, 5, 7, 3, 1, 8, 4, 6, 9];

// 第一趟
// 用数组的第二个数与第一个数比较
// 如果比第一个数大,那就不管他
// 如果比第一个数小,将第一个数往后退一步,将第二个数插入第一个数去
// 用数组的第三个数与已是有序的数据{2,3}(刚才在第一趟排的)比较
 
// 第二趟
// 用第三个数和前两个数比较
// 如果比第二个数大,那就不管它
// 如果比第二个数小,那就将第二个数退一个位置,让第三个数和第一个数比较
// 如果第三个数比第一个数大,那么将第三个数插入到第二个数的位置上
// 如果第三个数比第一个数小,那么将第一个数后退一步,将第三个数插入到第一个数的位置上
// ......依次下去
for (var i = 1; i < array.length; i++) {
var temp = array[i];
for (var j = i - 1; j >= 0; j--) {
//将大于temp的数向后移动一步
if (array[j] > temp) {
array[j + 1] = array[j];//记录j的值也就是temp要插入的位置
} else {
break;
}
}
array[j + 1] = temp;
}
console.log(array);
</script>
 
技术分享图片
 
 
技术分享图片

插入排序

原文:https://www.cnblogs.com/yeanling/p/10948528.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!