您的位置:首页 > 其它

8种经典算法之直接插入排序

2015-12-08 22:43 246 查看
直接插入排序是稳定的排序方法。
基本思想:
假设待排序的记录存放在数组array[1..n]中,将第一个数取出来,自己array[1]作为一个有序序列,无序序列即array[2..n]。从n=2 至 n = n为止,依次将array
插入到有序序列当中,使插入的记录也是有序的,生成含n个记录的有序序列。
具体操作:
将要插入的记录array[i]取出,保存到临时变量temp中;
找到array[ i ] (i=2,3….,n-1)的正确插入位置k (1≤ k ≤ n-1 );
将temp与array[i-1]进行比较,若temp大,则将array[i-1]向后移,直到找到比temp小的记录,将temp插入到该记录的后一位置。
如此循环n-1次,直到把这n-1个记录全部插入有序序列。


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<script>
var a = [1 , 3 , 7 , 2 , 5 , 9 , 8 ,6 , 4 , 10];
var i , j , temp;
for (i = 1; i < 10; i++) {
//暂时保存需要插入的那个数,因为在比较时会把a[i]的值覆盖,所以需要先保存
temp = a[i];
for (j = i - 1; j >= 0 && a[j] > temp; j--) {
//如果满足条件,则将a[j]向后移动
a[j+1] = a[j];
}
//将这个数插入有效序列
a[j+1] = temp;
}

for (var i = 0;  i < 10 ; i++) {
document.write(a[i]);
}
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: