java 排序算法

 1 --直接插入排序
 2 
 3 public static void insertSort(int[] a){
 4   for(int i=1;i<a.length;i++){
 5    for(int j=i;j>0;j--){
 6     if(a[j]<a[j-1]){
 7      int temp =a[j-1];
 8      a[j-1] = a[j];
 9      a[j] = temp;
10     }else
11      break;
12    }
13   }  
14  }

 

 1 --选择排序
 2 
 3     public static int[] Sort2(int[] a){
 4         for(int i=0;i<a.length-1;i++){
 5             for(int j=i+1;j<a.length;j++){
 6                 if(a[i]>a[j]){//选择升序,a[i]<a[j],降序
 7                     int temp = a[j];
 8                     a[j] = a[i];
 9                     a[i] = temp;
10                 }
11             }
12         }
13         return a;
14     }

 1 --选择排序优化
 2     public static int[] Sort1(int[] a){
 3         for(int i=0;i<a.length-1;i++){
 4             int num=a[i];
 5             int index=i;
 6             for(int j=i+1;j<a.length;j++){
 7                 if(num>a[j]){
 8                     num = a[j];
 9                     index=j;
10                 }
11                 if(index!=i){
12                     int tmp=a[i];
13                     a[i]=a[index];
14                     a[index]=tmp;
15                 }
16             }
17         }
18         return a;
19     }

 

 1 --冒泡排序
 2     public static int[] Sort1(int[] a){
 3         for(int i=0;i<a.length-1;i++){
 4             for(int j=0;j<a.length-1-i;j++){
 5                 if(a[j]>a[j+1]){
 6                     int tmp=a[j];
 7                     a[j]=a[j+1];
 8                     a[j+1]=tmp;
 9                 }
10             }
11         }
12         return a;
13     }
 1 --冒泡排序2
 2     public static int[] Sort1(int[] a){
 3         for(int i=a.length-1;i>0;i--){
 4             for(int j=0;j<i;j++){
 5                 if(a[j]>a[j+1]){
 6                     int tmp=a[j];
 7                     a[j]=a[j+1];
 8                     a[j+1]=tmp;
 9                 }
10             }
11         }
12         return a;
13     }

 

 

posted @ 2016-06-05 13:57  zhuzhuqwa  阅读(82)  评论(0)    收藏  举报