最簡單易懂的java數(shù)組排序方法整理
前言
JAVA中在運用數(shù)組進行排序功能時,一般有四種方法:快速排序法、冒泡法、選擇排序法、插入排序法。本文就給大家介紹了關(guān)于最簡單易懂的java數(shù)組排序方法,下面話不多說了,來一起看看詳細的介紹吧
方法如下:
1、快速排序:首先是最簡單的Array.sort,直接進行排序:
public static void main(String[] args) { int[] arr = {4,3,5,1,7,9,3}; Arrays.sort(arr); for (int i : arr){ System.out.println(i); }
點擊運行即可輸出已排序的數(shù)組數(shù)字。
2、部分排序法:使用Array.sort還可進行選擇想要排序的部分數(shù)字,如將下角標編號為1~4的數(shù)字進行排序,其他數(shù)字順序不變。
public static void main(String[] args) { int[] arr = {4,3,5,1,2,9,3,0}; Arrays.sort(arr,1,4); for (int i = 0;i<arr.length;i++){ System.out.print(arr[i]+","); } }
輸出結(jié)果為:4,1,3,5,2,9,3,0, 可見僅下標為1~4的數(shù)字進行了排序。
3、冒泡排序法:顧名思義,從下到上,兩兩進行比較,越小的越往上,從而形成由小到大的排序。
public static void bubble(int[] arr){ int temp; //根據(jù)角標進行比較, for(int i = 0; i<arr.length; i++){ //j是數(shù)組的最后一個角標 for (int j = arr.length-1; j > i; j--) { if (arr[j] < arr[j - 1]) { //從后往前進行比較,小數(shù)往前,一輪之后最小數(shù)就在最前面了 temp = arr[j - 1]; arr[j - 1] = arr[j]; arr[j] = temp; } } } } public static void main(String[] args) { int[] arr = {3,22,5,3,66,2,9}; bubble(arr); //使用foreach循環(huán)輸出 for(int x : arr){ System.out.println(x); } //使用字符串表達形式輸出,輸出形式更為直觀 System.out.println(Arrays.toString(arr)); }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
相關(guān)文章
springboot 實現(xiàn)記錄業(yè)務(wù)日志和異常業(yè)務(wù)日志的操作
這篇文章主要介紹了springboot 實現(xiàn)記錄業(yè)務(wù)日志和異常業(yè)務(wù)日志的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Java設(shè)計模式編程中的工廠方法模式和抽象工廠模式
這篇文章主要介紹了Java設(shè)計模式編程中的工廠方法模式和抽象工廠模式,設(shè)計模式的建立有利于團隊協(xié)作時代碼的共同維護,需要的朋友可以參考下2016-01-01SpringBoot整合SQLite數(shù)據(jù)庫全過程
sqlite是一個很輕量級的數(shù)據(jù)庫,可以滿足日常sql的需求,下面這篇文章主要給大家介紹了關(guān)于SpringBoot整合SQLite數(shù)據(jù)庫的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-03-03java 使用ConcurrentHashMap和計數(shù)器實現(xiàn)鎖
這篇文章主要介紹了java 使用ConcurrentHashMap和計數(shù)器實現(xiàn)鎖的相關(guān)資料,需要的朋友可以參考下2017-05-05java數(shù)據(jù)結(jié)構(gòu)與算法數(shù)組模擬隊列示例詳解
這篇文章主要為大家介紹了java數(shù)據(jù)結(jié)構(gòu)與算法數(shù)組模擬隊列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06如何使用pipeline和jacoco獲取自動化測試代碼覆蓋率
這篇文章主要介紹了如何使用pipeline和jacoco獲取自動化測試代碼覆蓋率,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11