Java冒泡排序定义
冒泡排序,英文名为Bubble Sort,是一种简单直观的排序算法。
之所以叫做冒泡,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。
重复地遍历要排序的数组,比较相邻元素的大小,并根据需要交换它们的位置,直到整个数组排序完成为止。
Java冒泡排序思想
冒泡排序的具体步骤如下:
- 从数组的第一个元素开始,依次比较相邻的两个元素。
- 如果前一个元素大于(或小于,根据升序或降序排序需求)后一个元素,则交换它们的位置。
- 继续比较下一对相邻元素,重复上述步骤,直到遍历到倒数第二个元素。
- 重复执行上述步骤的过程,每次遍历都会将当前最大(或最小)的元素“冒泡”到数组的末尾(或开头)。
- 重复执行以上步骤,直到整个数组排序完成。
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」公众号,获知最新一线技术干货!
