21xrx.com
2024-09-08 11:30:12 Sunday
登录
文章检索 我的文章 写文章
Java实现冒泡排序算法 从小到大排序
2023-06-15 20:07:04 深夜i     --     --
Java 冒泡排序 算法

冒泡排序是一种基本的排序算法,它通过交换相邻的元素来实现排序。在排序的过程中,每一轮比较都会将当前最大值或最小值移动到数组的末尾,直到将整个数组排序完成。在Java中实现冒泡排序算法很简单,下面是一个从小到大排序的示例代码:


public static void bubbleSort(int[] arr) {

  int temp;

  for(int i=0; i

    for(int j=0; j

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

        temp = arr[j];

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

        arr[j+1] = temp;

      }

    }

  }

}

这段代码中使用了双重循环,外层循环控制排序的轮数,内层循环控制每轮排序中相邻元素的比较。通过比较相邻元素的大小,如果前一个元素大于后一个元素,就交换它们的位置。

接下来我们来看一下这个算法的时间复杂度和稳定性:

时间复杂度:

最好情况下,输入的数组已经是有序的,这时只需要进行一次扫描,时间复杂度是O(n)

最坏情况下,输入的数组是逆序排列的,需要进行(n-1)轮扫描,每轮扫描需要比较(n-i-1)次,时间复杂度是O(n^2)

平均情况下,时间复杂度也是O(n^2)

稳定性:

冒泡排序是一种稳定排序,相同值的元素不会因为交换而改变它们的相对位置。

综上所述,使用Java实现冒泡排序算法是一种简单而有效的方法,我们可以根据需要对代码进行优化,以提高算法的性能和效率。

生成的3个

  
  

评论区

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