这是什么样的?-Java

用户名

有谁知道这在Java中是什么样的?我不太确定自己。插入?选择?提前致谢!

    public class sorting {
      public static void main(String[] args)
      {
      String[] arr = {"Banana", "Apple", "Orange", "Fruit", "Watermelon", "Hello World"};
        String tmp;
        for (int i = 0;i < arr.length;i++)
        {
          tmp = arr[i];
          for (int j = 0;j < arr.length;j++)
          {
            if (i == j) continue;
            int x = tmp.compareTo(arr[j]);
            if (x < 0)
            {
              tmp = arr[j];
              arr[j] = arr[i];
              arr[i] = tmp;
            }
          }
        }
        for (int i = 0;i < arr.length;i++)
          System.out.println(arr[i]);
      }
    }
奥斯卡·洛佩兹(Oscar Lopez)

这看起来像一个冒泡排序实现:

  • 它是 O(n^2)
  • 在每一步中,最大的元素“冒泡”到正确的位置
  • 正在执行交换以“冒泡”元素

尽管冒泡排序一开始是很丑陋的,但我们可以通过正确设置索引并i == j在此过程中消除这种比较来减少工作量

for (int i = arr.length; i > 0; i--) {
    for (int j = 0; j < i - 1; j++) {
        int x = arr[j].compareTo(arr[j + 1]);
        if (x > 0) {
            tmp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = tmp;
        }

    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章