欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA-冒泡排序-代码不重复的情况下通过参数控制正序倒序

程序员文章站 2022-03-22 10:09:01
...
刚刚入职!!!闲着写了一下自己想出来的需求
   冒泡排序方法可以通过一个参数控制冒泡的排序方式(在代码不重复的情况下)

实现有问题的或需要改进↓↓↓↓↓↓↓↓↓↓↓↓
                   欢迎大佬们指点

/**
 * 冒泡排序
 * 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;

}