Java 使用Arrays.sort排序 從大到小排列


前言

一般情況,我們在Java中給數組排序,比起自己寫個冒泡排序,更加喜歡使用Java中自帶的sort方法,也就是Arrays.sort方法

但是,這個方法只會將數組從小到大排列,如果我們需要從大到小排列的數組,怎么辦呢?

思路

我的想法是,把經過Arrays.sort方法之后從小到大排列的數組,后面位置的元素與之前的元素進行交換,這樣,不就是實現了從大到小的排列了嗎?

需要注意的是:我們得分兩種情況,一種是數組中的元素個數是偶數,另外一種則是數組的元素個數為奇數

下面則是我實現的方法,經過測試,沒有錯誤

/**
 *傳入一個有序的數組a(從小到大排序),返回一個從大到小的數組
 * @param a 傳入的數組(有序)
 * @return 返回一個數組(從大到小)
 */
public static int[] sort(int[] a){
	int[] temp = a;

	if(temp.length%2==0){
		//數組里面的個數為偶數
		for (int i = 0; i <= temp.length/ 2; i++) {
			int temp1 = a[i];
			temp[i]=temp[temp.length-1-i];
			temp[temp.length - 1-i] = temp1;
		}
	}else{
		//數組里面的個數為奇數
		for (int i = 0; i < temp.length / 2; i++) {
			int temp1 = a[i];
			temp[i]=temp[temp.length-1-i];
			temp[temp.length - 1-i] = temp1;
		}
	}
	return  temp;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM