java中常用4种排序方法

     java中常用的四种排序方法: 快速排序、冒泡排序、选择排序、插入排序。
     当然 程序中最简单的使用就是:快速排序和冒泡排序,插入排序的使用更具有技巧性,选择排序则过于复杂,冗杂的代码不利于程序的使用和软件的测试。
     快速排序主要是运用了Arrays中的一个方法Arrays.sort()实现。
     冒泡法则是利用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
     选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
     插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。
      1.利用Arrays带有的排序方法快速排序
import java.util.Arrays;  
 public class Test{        
     public static void main(String[] args){  
        int[] a={5,4,2,4,9,1};              
        Arrays.sort(a);  //进行排序  
        for(int i: a){   
           System.out.print(i); 
            }     
       } 
 } 
  
    
      2.冒泡排序算法 
  public static int[] bubbleSort(int[] args){
  //冒泡排序算法  
       for(int i=0;i<args.length-1;i++){             
       for(int j=i+1;j<args.length;j++){
             if (args[i]>args[j]){   
                    int temp=args[i];  
                    args[i]=args[j];  
                    args[j]=temp;  
                                }  
                       } 
               }  
                return args; 
      }
  

        3.选择排序算法  
public static int[] selectSort(int[] args){
       //选择排序算法  
        for (int i=0;i<args.length-1 i++ ){  
              int min=i;           
        for (int j=i+1;j<args.length j++ ){  
            if (args[min]>args[j]){  
              min=j;  
                             }  
                       }  
            if (min!=i){ 
           int temp=args[i];
           args[i]=args[min];  
           args[min]=temp;       
              } 
     }  
        return args;   
}

       4.插入排序算法
 public static int[] insertSort(int[] args){//
         for(int i=1;i<args.length;i++){  
         for(int j=i;j>0;j--){               
           if (args[j]<args[j-1]){   
             int temp=args[j-1];
             args[j-1]=args[j];                                                                                                                        
             args[j]=temp;      
          }
             else break;  
    } 
  }                  
           return args; 
 }
  
    以上就是java中的四种排序方法。
    不同的方法效率不一样,下面是不同的算法的比较和数据交换时的大O表示。
    冒泡排序:比较O(N2) 数据交换O(N2) 
    选择排序:比较O(N2) 数据交换O(N) 

猜你喜欢

转载自767148424.iteye.com/blog/2343072
今日推荐