从排序开始学JAVA(1)——直接插入排序

 


直接插入排序

基本思想有一列数,把待排数字插入到前面已排好的数字序列中。

比如 n个数做直接插入排序                                                            56,14,45,69,42,8,10

开始时有序表中只包含一个元素,无序组中有n-1个元素                  有序表                       无序表

                                                                                        56                     14,45,69,42,8,10

从无序表取出第一个待排元素将它插入到有序表的适当位置             14,   56                    45,69,42,8,10

(这里默认从小到大排列)  使之成为新的有序表                       14, 45, 56                    69,42,8,10

                                                                                                     。。。。。。

重复n-1次可完成排序过程                                                            8,10,14,42,45,56,69

 

JAVA实现程序:

 

 1 package sort;
 2 
 3 public class insertSort {
 4     
 5     
 6     public static void main(String[]args){
 7     
 8         int[]array={56,14,45,69,42,8,10};
 9         
10         int temp=0;
11         for(int i=1;i<array.length;i++){
12             int j=i-1;
13             temp=array[i];      //array[i]是待排元素,赋值给临时变量temp
14             for(; j>=0 && temp<array[j]; j--)  //待排元素与有序表中的元素从右到左一次比较,到合适位置停止                                     
15                     array[j+1]=array[j];
16             array[j+1]=temp;
17         }
18         for(int i:array)
19             System.out.print(i+" ");
20         
21     
22         }
23     }

 

 

 

 

 

                                                                       

 

 

 

 

 


 

                                                                       

posted @ 2014-09-12 11:12  pianpianfeiye  阅读(283)  评论(0编辑  收藏  举报