21xrx.com
2024-11-22 09:37:56 Friday
登录
文章检索 我的文章 写文章
冒泡排序Java代码的实现及优化
2023-06-17 06:53:16 深夜i     --     --
冒泡排序 Java 实现

冒泡排序是一种简单的排序算法,其思想是从第一个元素开始,比较相邻元素的大小,如果前面的元素比后面的元素大,就交换它们的位置,直到把最大的元素放在当前序列的末尾。接着,再次从头开始进行相同的操作,直到整个序列有序。

下面是冒泡排序的Java代码实现:


public void bubbleSort(int[] arr) {

  int n = arr.length;

  for (int i = 0; i < n - 1; i++) {

    for (int j = 0; j < n - 1 - i; j++) {

      if (arr[j] > arr[j + 1]) {

        int temp = arr[j];

        arr[j] = arr[j + 1];

        arr[j + 1] = temp;

      }

    }

  }

}

上述代码使用了两层循环,外层循环控制排序轮数,内层循环控制每轮比较的次数。当然,这个算法也存在一些问题,比如它的时间复杂度为O(n^2),而且在有些情况下,序列已经有序的情况下,会继续进行无用的比较,浪费时间。为了提高效率,我们可以加入一些优化措施,比如记录最后一次交换的位置,再次进行排序时只需遍历到该位置即可,减少了比较次数。

文章

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复