插入排序,每次排一个数组项,以此方式构建最后的排序数组。假定第一项已经排序了,接着,他和第二项进行比较,第二项是应该待在原位还是插到第一项之前呢?这样前两项已正确排序,接着和第三项比较(他是该插入到第一、第二、还是第三的位置呢?)以此类推。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width"> 6 <title>插入排序法</title> 7 </head> 8 <body> 9 10 </body> 11 </html>
1 var array=[15,8,5,32,3,56,36,98,15];
2 var j,temp;
3 for (var i=1;i<array.length;i++){
4 j=i;
5 temp=array[i];
6 while(j>0&& temp>array[j-1]){
7 array[j]=array[j-1];
8 j--;
9 }
10 array[j]=temp;
11
12 }
13 console.log(array);