**原理:**对存放原始数据的数组的相邻元素进行对比,若不符合规定次序,则交换元素位置,对于所有元素都进行这种操作,就可以将元素按照规定次序排列,又因为这种排序方式在由小到大进行排序时,会将较小的元素逐个向前移动,酷似气泡上浮,所以叫做冒泡排序。
**特点:**实现相对简单,但时间复杂度相对要高,为$O(N^2)$,适用于小规模数据集。
实现:
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 4, 9, 1};
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;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}