java常见算法 冒泡排序


冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是通过相邻元素的比较和交换来将较大(或较小)的元素逐步向数组的一端移动。具体步骤如下:

  1. 从数组的第一个元素开始,依次比较相邻的两个元素,如果它们的顺序不正确(比如前面的元素大于后面的元素),则交换它们的位置。
  2. 继续对数组中的每一对相邻元素进行比较和交换,直到将最大(或最小)的元素移动到数组的最后一个位置。
  3. 重复上述步骤,每一轮都将数组中当前未排序部分的最大(或最小)元素放置到相应的位置,直到整个数组有序。

下面是使用Java实现的冒泡排序算法:

public void bubbleSort(int[] arr) {
    int n = arr.length;
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // 交换位置
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

在上述代码中,arr是待排序的数组。通过双重循环遍历数组,比较相邻元素的大小,并根据需要进行交换操作,以实现排序。排序过程中,每一轮都将当前未排序部分的最大元素移动到最后的位置,因此外层循环的次数为数组长度减一。

冒泡排序是一种简单但效率较低的排序算法,其平均时间复杂度为O(n^2),其中n为数组的长度。对于小规模的数组或者已基本有序的数组,冒泡排序是一种可以考虑的选择。然而,对于大规模乱序的数组,更高效的排序算法如快速排序和归并排序通常更为合适。


原文链接:codingdict.net