直接插入排序法

    在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

java (1)
 1 void insertSort(int[] arr){
 2     for(int i=1; i<arr.length; i++){
 3         if(arr[i] < arr[i-1]){
 4             int temp = arr[i];
 5             arr[i] = arr[i-1];
 6             for(int j = i-2; j>=0; j--){
 7                 if(temp < arr[j]){
 8                     arr[j+1= arr[j];
 9                 }else{
10                     break;
11                 }
12             }
13             a[j+1= temp;
14         }
15     }
16 }
java (2)
 1 void insertSort(int[] arr){
 2     for(int i=1; i<arr.length; i++){
 3         if(arr[i] < arr[i-1]){
 4             int temp = arr[i];
 5             int j = i-1;
 6             do{
 7                 arr[j+1= arr[j];
 8                 j--;
 9             }while(j>=0 && temp < arr[j]);
10             arr[j+1= temp;
11         }
12     }
13 }

 

 

posted on 2010-03-02 18:37  北冥有鱼,化而为鸟  阅读(214)  评论(0编辑  收藏  举报

导航