JAVA數(shù)組中五種常見排序方法整理匯總
前言:
幾種常用的JAVA數(shù)組排序方法的整合。
法一:Arrays.sort()
Arrays.sort()排序方法在java中是最簡(jiǎn)單且最常用的排序方法
int []arr1= {45,34,59,55};
Arrays.sort(arr1);//調(diào)用方法排序即可法二:冒泡排序
簡(jiǎn)單來說,冒泡排序就是重復(fù)地走訪過要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過來。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。
//array[]為待排序數(shù)組,n為數(shù)組長(zhǎng)度
void BubbleSort(int array[], int n)
{
int i, j, k;
for(i=0; i<n-1; i++)
for(j=0; j<n-1-i; j++)
{
if(array[j]>array[j+1])
{
k=array[j];
array[j]=array[j+1];
array[j+1]=k;
}
}
}法三:選擇排序
先找到最小元素所在位置的索引,然后將該元素與第一位上的元素進(jìn)行交換。
int arr3[]= {23,12,48,56,45};
for(int i=0;i<arr3.length;i++) {
int tem=i;
//將數(shù)組中從i開始的最小的元素所在位置的索引賦值給tem
for(int j=i;j<arr3.length;j++) {
if(arr3[j]<arr3[tem]) {
tem=j;
}
}
//上面獲取了數(shù)組中從i開始的最小值的位置索引為tem,利用該索引將第i位上的元素與其進(jìn)行交換
int temp1=arr3[i];
arr3[i]=arr3[tem];
arr3[tem]=temp1;
}法四:反轉(zhuǎn)排序
將原數(shù)組按逆序排列
//將數(shù)組第i位上的元素與第arr.length-i-1位上的元素進(jìn)行交換
int []arr4={23,12,48,56,45};
for(int i=0;i<arr4.length/2;i++) {
int tp=arr4[i];
arr4[i]=arr4[arr4.length-i-1];
arr4[arr4.length-i-1]=tp;
}法五:直接插入排序
int []arr5={23,12,48,56,45};
for (int i = 1; i < arr5.length; i++) {
for (int j = i; j > 0; j--) {
if (arr5[j - 1] > arr5[j]) {//大的放后面
int tmp = arr5[j - 1];
arr5[j - 1] = arr5[j];
arr5[j] = tmp;
}
}
}到此這篇關(guān)于JAVA數(shù)組中五種常見排序方法的文章就介紹到這了,更多相關(guān)java數(shù)組排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java8中 LocalDate和java.sql.Date的相互轉(zhuǎn)換操作
這篇文章主要介紹了Java8中 LocalDate和java.sql.Date的相互轉(zhuǎn)換操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
springBoot解決static和@Component遇到的bug
這篇文章主要介紹了springBoot解決static和@Component遇到的bug,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
springBoot項(xiàng)目配置文件加載優(yōu)先級(jí)及同配置覆蓋問題詳解
SpringBoot配置?件可以放置在多種路徑下,不同路徑下的配置優(yōu)先級(jí)有所不同,下面這篇文章主要給大家介紹了關(guān)于springBoot項(xiàng)目配置文件加載優(yōu)先級(jí)及同配置覆蓋問題的相關(guān)資料,需要的朋友可以參考下2023-05-05
Java自定義實(shí)現(xiàn)鏈隊(duì)列詳解
這篇文章主要為大家詳細(xì)介紹了Java自定義實(shí)現(xiàn)鏈隊(duì)列的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
springboot集成swagger3與knife4j的詳細(xì)代碼
這篇文章主要介紹了springboot集成swagger3與knife4j,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
SpringBoot整合easyExcel實(shí)現(xiàn)CSV格式文件的導(dǎo)入導(dǎo)出
這篇文章主要為大家詳細(xì)介紹了SpringBoot整合easyExcel實(shí)現(xiàn)CSV格式文件的導(dǎo)入導(dǎo)出,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以參考下2024-02-02

