0
点赞
收藏
分享

微信扫一扫

java冒泡排序优化

拾杨梅记 2023-07-13 阅读 68

public static void bubbleSort(int[] arr) {
    for (int i = 0; i < arr.length-1; i++) {
        for (int j = 0; j < arr.length-1-i; j++) {
            if(arr[j] > arr[j+1]) {
                int tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
            }
        }
    }
}
public static void main(String[] args) {
    int[] arr = {1,4,2,6,8,3,5,0};
    bubbleSort(arr);
    System.out.println(Arrays.toString(arr));
}

当数据在在冒泡排序某一趟发现已经有序就不需要在进行交换,就能进行优化

引入boolean 类型

代码实现

public static void bubbleSort(int[] arr) {
    for (int i = 0; i < arr.length-1; i++) {//确定趟数
        boolean flat = false;
        for (int j = 0; j < arr.length-1-i; j++) {
            if(arr[j] > arr[j+1]) {
                int tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
                flat = true;
            }
        }
        if(flat == false) {//如果没有交换
          break;
    }
    }
}
public static void main8(String[] args) {
    int[] arr = {1,4,2,6,8,3,5,0};
    bubbleSort(arr);
    System.out.println(Arrays.toString(arr));
}

结果显示

java冒泡排序优化_i++

举报

相关推荐

0 条评论