Java冒泡排序详解(算法思想及代码实例)

Java冒泡排序详解(算法思想及代码实例)-mikechen

Java冒泡排序定义

冒泡排序,英文名为Bubble Sort,是一种简单直观的排序算法。

之所以叫做冒泡,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。

重复地遍历要排序的数组,比较相邻元素的大小,并根据需要交换它们的位置,直到整个数组排序完成为止。

Java冒泡排序详解(算法思想及代码实例)-mikechen

 

Java冒泡排序思想

冒泡排序的具体步骤如下:

Java冒泡排序详解(算法思想及代码实例)-mikechen

  1. 从数组的第一个元素开始,依次比较相邻的两个元素。
  2. 如果前一个元素大于(或小于,根据升序或降序排序需求)后一个元素,则交换它们的位置。
  3. 继续比较下一对相邻元素,重复上述步骤,直到遍历到倒数第二个元素。
  4. 重复执行上述步骤的过程,每次遍历都会将当前最大(或最小)的元素“冒泡”到数组的末尾(或开头)。
  5. 重复执行以上步骤,直到整个数组排序完成。

 

Java冒泡排序示例

下面是使用Java语言实现冒泡排序的示例代码:

public class BubbleSort {
    public static void bubbleSort(int[] array) {
        int n = array.length;
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    // 交换相邻元素的位置
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        int[] array = {5, 2, 8, 12, 1, 6, 4, 9};
        System.out.println("原始数组: " + Arrays.toString(array));

        bubbleSort(array);

        System.out.println("排序后数组: " + Arrays.toString(array));
    }
}

输出结果将显示原始数组和排序后的数组:

原始数组: [5, 2, 8, 12, 1, 6, 4, 9]
排序后数组: [1, 2, 4, 5, 6, 8, 9, 12]

冒泡排序的关键点在于通过多次遍历和比较,不断将最大(或最小)的元素交换到正确的位置。

由于每次遍历都会确定一个元素的最终位置,因此需要进行n-1次遍历(n为数组的长度)。

mikechen

mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获知最新一线技术干货!

评论交流
    说说你的看法