1. 程式人生 > >JAVA-氣泡排序-程式碼不重複的情況下通過引數控制正序倒序

JAVA-氣泡排序-程式碼不重複的情況下通過引數控制正序倒序

剛剛入職!!!閒著寫了一下自己想出來的需求
   氣泡排序方法可以通過一個引數控制冒泡的排序方式(在程式碼不重複的情況下)

實現有問題的或需要改進↓↓↓↓↓↓↓↓↓↓↓↓
                   歡迎大佬們指點

/**
 * 氣泡排序
 * type控制排序方式  1 正序,-1 倒序
 * @param arr
 * @param type
 * @return
 */
public static int[] sortBubble(int[] arr, int type){

    //正序從0開始
    int start = type==1?0:1;
    //倒序從1開始
    int end = type==-1?0:1;
    int size = arr.length;
    //start
    for (int i = 0; i < size - 1; i++) {
        for (int j = start; j < size - i - end; j++) {
            /**
             * 正序時:第一個跟第二個比較,第一個大於第二個互換位置
             * 倒序時:第二個跟第一個比較,第二個大於第一個互換位置
             */
            if (arr[j] > arr[j+type]){
                int temp = arr[j];
                arr[j] = arr[j+type];
                arr[j+type] = temp;
            }
        }
    }
    return arr;

}