冒泡排序法

Posted wuyouwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序法相关的知识,希望对你有一定的参考价值。

  直接上代码

  初次版本

技术图片
public static void main(String[] args) {
    int[] ints = {1, 5, 2, 6, 8, 4};
    for (int i = 0; i < ints.length; i++) {
      for (int j = 0; j < ints.length - i - 1; j++) {
        if (ints[j] > ints[j + 1]) {
          int temp = ints[j];
          ints[j] = ints[j + 1];
          ints[j + 1] = temp;
        }
      }
    }
    System.out.println(Arrays.toString(ints));
  }
View Code

优化版本

技术图片
public static void main(String[] args) {
    int[] ints = {11, 5, 2, 6, 8, 4};
    for (int i = 0; i < ints.length; i++) {
      Boolean swap = true;
      for (int j = 0; j < ints.length - i - 1; j++) {
        if (ints[j] > ints[j + 1]) {
          int temp = ints[j];
          ints[j] = ints[j + 1];
          ints[j + 1] = temp;
          swap = false;
        }
      }
      if (swap) {
        break;
      }
    }
    System.out.println(Arrays.toString(ints));
  }
View Code

优化思想是:

  如果发现一次比较中没有发生排序现象则判断是有序数组了。

以上是关于冒泡排序法的主要内容,如果未能解决你的问题,请参考以下文章