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配置中心實現(xiàn)
這篇文章主要介紹了Spring Cloud Alibaba Nacos Config配置中心實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04Java 前臺加后臺精品圖書管理系統(tǒng)的實現(xiàn)
相信每一個學(xué)生學(xué)編程的時候,應(yīng)該都會寫一個小項目——圖書管理系統(tǒng)。為什么這么說呢?我認(rèn)為一個學(xué)校的氛圍很大一部分可以從圖書館的氛圍看出來,而圖書管理系統(tǒng)這個不大不小的項目,接觸的多,也比較熟悉,不會有陌生感,能夠練手,又有些難度,所以我的小項目也來了2021-11-11java中g(shù)et()方法和set()方法的作用淺析
這篇文章主要給大家介紹了關(guān)于java中g(shù)et()方法和set()方法的作用,set是是對數(shù)據(jù)進(jìn)行設(shè)置,而get是對數(shù)據(jù)進(jìn)行獲取,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07spring集成mybatis實現(xiàn)mysql數(shù)據(jù)庫讀寫分離
本文通過實例代碼給大家介紹了spring集成mybatis實現(xiàn)mysql數(shù)據(jù)庫讀寫分離,需要的朋友可以參考下2017-08-08從零開始使用IDEA創(chuàng)建SpringBoot項目(圖文)
這篇文章主要介紹了從零開始使用IDEA創(chuàng)建SpringBoot項目(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05IDEA中Directory創(chuàng)建多級目錄的實現(xiàn)
本文主要介紹了IDEA中Directory創(chuàng)建多級目錄的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06ConstraintValidator類如何實現(xiàn)自定義注解校驗前端傳參
這篇文章主要介紹了ConstraintValidator類實現(xiàn)自定義注解校驗前端傳參的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06