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;

}

猜你喜欢

转载自blog.csdn.net/qq_32419835/article/details/83014115
今日推荐