一、冒泡排序介绍
冒泡排序是一种基于比较和交换操作的排序算法。
每轮冒泡的过程都是从第一个元素开始,将该元素和相邻下一个元素进行比较和交换,使得较大的元素向右移动(如果该元素大于下一个元素,则两个元素交换;如果该元素小于等于下一个元素,则保持不变)。这样一来,每轮冒泡的过程都可以确定一个元素放在正确的位置上,而这个元素就是剩余元素中最大的元素,正确的位置就是剩余位置中的最右侧的位置。这个过程就像是气泡上浮一样,所以叫做冒泡排序。
二、冒泡排序图例
下面来看一个冒泡排序的实例,方便理解冒泡的过程(此处以升序为例):
三、冒泡排序实现
1、第一版实现
这是根据前面的过程分析和图例例子直接实现的第一版冒泡排序。
public class BubbleSort {
private static int number = 0; //记录冒泡排序的轮数
public static void main(String[] args) {
int[] array = new int[]{
5, 3, 6, 2, 1, 4, 8, 7};
bubbleSort(array);
System.out.println(Arrays.toString(array));
System.out.println("共经过" + number