JAVA數(shù)組中五種常見排序方法整理匯總
前言:
幾種常用的JAVA數(shù)組排序方法的整合。
法一:Arrays.sort()
Arrays.sort()排序方法在java中是最簡單且最常用的排序方法
int []arr1= {45,34,59,55};
Arrays.sort(arr1);//調(diào)用方法排序即可法二:冒泡排序
簡單來說,冒泡排序就是重復(fù)地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。
//array[]為待排序數(shù)組,n為數(shù)組長度
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Cloud Alibaba Nacos Config配置中心實(shí)現(xiàn)
這篇文章主要介紹了Spring Cloud Alibaba Nacos Config配置中心實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
Java 前臺加后臺精品圖書管理系統(tǒng)的實(shí)現(xiàn)
相信每一個學(xué)生學(xué)編程的時候,應(yīng)該都會寫一個小項(xiàng)目——圖書管理系統(tǒng)。為什么這么說呢?我認(rèn)為一個學(xué)校的氛圍很大一部分可以從圖書館的氛圍看出來,而圖書管理系統(tǒng)這個不大不小的項(xiàng)目,接觸的多,也比較熟悉,不會有陌生感,能夠練手,又有些難度,所以我的小項(xiàng)目也來了2021-11-11
java中g(shù)et()方法和set()方法的作用淺析
這篇文章主要給大家介紹了關(guān)于java中g(shù)et()方法和set()方法的作用,set是是對數(shù)據(jù)進(jìn)行設(shè)置,而get是對數(shù)據(jù)進(jìn)行獲取,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
spring集成mybatis實(shí)現(xiàn)mysql數(shù)據(jù)庫讀寫分離
本文通過實(shí)例代碼給大家介紹了spring集成mybatis實(shí)現(xiàn)mysql數(shù)據(jù)庫讀寫分離,需要的朋友可以參考下2017-08-08
從零開始使用IDEA創(chuàng)建SpringBoot項(xiàng)目(圖文)
這篇文章主要介紹了從零開始使用IDEA創(chuàng)建SpringBoot項(xiàng)目(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
IDEA中Directory創(chuàng)建多級目錄的實(shí)現(xiàn)
本文主要介紹了IDEA中Directory創(chuàng)建多級目錄的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
ConstraintValidator類如何實(shí)現(xiàn)自定義注解校驗(yàn)前端傳參
這篇文章主要介紹了ConstraintValidator類實(shí)現(xiàn)自定義注解校驗(yàn)前端傳參的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

