
當然 程序中最簡單的使用就是:快速排序和冒泡排序,插入排序的使用更具有技巧性,選擇排序則過于復雜,冗雜的代碼不利于程序的使用和軟件的測試。
快速排序法主要是運用了Arrays中的一個方法Arrays.sort()實現。
冒泡法是運用遍歷數組進行比較,通過不斷的比較將最小值或者最大值一個一個的遍歷出來。
選擇排序法是將數組的第一個數據作為最大或者最小的值,然后通過比較循環,輸出有序的數組。
插入排序是選擇一個數組中的數據,通過不斷的插入比較最后進行排序。下面我就將他們的實現方法一一詳解供大家參考。
第一利用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); } } }第二冒泡排序算法
public static int[] bubbleSort(int[] args){ //冒泡排序算法 for(int i=0;i<args.length-1;i++){ for(int j=i+1;jargs[j]){ int temp=args[i]; args[i]=args[j]; args[j]=temp; } } } return args; }第三選擇排序算法
public static int[] selectSort(int[] args){ //選擇排序算法 for (int i=0;i<args.length-1 i++ ){ int min=i; for (int j=i+1;jargs[j]){ min=j; } } if (min!=i){ int temp=args[i]; args[i]=args[min]; args[min]=temp; } } return args; }第四插入排序算法
public static int[] insertSort(int[] args){// for(int i=1;i0;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)
在實際應用中,我們要盡量選擇效率高的算法。
新聞熱點
疑難解答