002 冒泡排序

 // 冒泡排序 从右缩小范围 最小值放在最右边
    public static void bubbleSort(int[] arr) {
        if (arr == null || arr.length < 2) {
            return;
        }
        for (int i = arr.length - 1; i > 0; i--) { // 控制每一轮的数据范围,必须是全部数据length-1
            for (int j = 0; j < i; j++) { // 前后交换,为了数组不越界后一个数据是边界  需要j<i
                if (arr[j] > arr[j + 1]) {
                    swap(arr, j, j + 1);
                }
            }
        }
    }

    // 冒泡排序 从左缩小范围 最小值放在最右边
    public static void bubbleSort1(int[] arr) {
        if (arr == null || arr.length < 2) {
            return;
        }
        for (int i = 0; i < arr.length - 1; i++) { // 控制每一轮的数据范围,必须是全部数据length-1
            for (int j = i; j < arr.length - 2 && arr[j] > arr[j + 1]; j++) { // 前后交换,为了数组不越界后一个数据是边界  需要j<i
                swap(arr, j, j + 1);
            }
        }
    }
posted @ 2022-10-10 14:41  浮沉丶随心  阅读(14)  评论(0编辑  收藏  举报