JAVA中運用數組的四種排序方法

JAVA中在運用數組進行排序功能時,通常有四種方法:快速排序法、冒泡法、選擇排序法、插入排序法。java

快速排序法主要是運用了Arrays中的一個方法Arrays.sort()實現。算法

冒泡法是運用遍歷數組進行比較,經過不斷的比較將最小值或者最大值一個一個的遍歷出來。數組

選擇排序法是將數組的第一個數據做爲最大或者最小的值,而後經過比較循環,輸出有序的數組。code

插入排序是選擇一個數組中的數據,經過不斷的插入比較最後進行排序。下面我就將他們的實現方法一一詳解供你們參考。排序

利用Arrays帶有的排序方法快速排序class

import java.util.Arrays;

public class Test2{
        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);
                }
        }
}

冒泡排序算法效率

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;
}

選擇排序算法import

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;
        }

插入排序算法select

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)

插入排序:比較O(N2) 複製數據O(N)

在實際應用中,咱們要儘可能選擇效率高的算法。

相關文章
相關標籤/搜索