郑州尚学堂:JAVA常用4种排序方法
生活随笔
收集整理的這篇文章主要介紹了
郑州尚学堂:JAVA常用4种排序方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JAVA中在運用數組進行排序功能時,一般有四種方法:快速排序法、冒泡法、選擇排序法、插入排序法。
當然 程序中最簡單的使用就是:快速排序和冒泡排序,插入排序的使用更具有技巧性,選擇排序則過于復雜,冗雜的代碼不利于程序的使用和軟件的測試。
快速排序法主要是運用了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)
在實際應用中,我們要盡量選擇效率高的算法。
轉載于:https://blog.51cto.com/12737896/1909606
總結
以上是生活随笔為你收集整理的郑州尚学堂:JAVA常用4种排序方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA学习笔记--初始化与清理
- 下一篇: SQL 基础之用户角色日常操作(十六)