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