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

前言

通常狀況,咱們在Java中給數組排序,比起本身寫個冒泡排序,更加喜歡使用Java中自帶的sort方法,也就是Arrays.sort方法數組

可是,這個方法只會將數組從小到大排列,若是咱們須要從大到小排列的數組,怎麼辦呢?測試

思路

個人想法是,把通過Arrays.sort方法以後從小到大排列的數組,後面位置的元素與以前的元素進行交換,這樣,不就是實現了從大到小的排列了嗎?code

須要注意的是:咱們得分兩種狀況,一種是數組中的元素個數是偶數,另一種則是數組的元素個數爲奇數排序

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

/**
 *傳入一個有序的數組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;
}
相關文章
相關標籤/搜索