冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,每次比较相邻的两个元素,如果它们的顺序错误就交换它们的位置。遍历数列的工作是重复地进行,直到没有再需要交换的元素,也就是说该数列已经排序完成。
下面是冒泡排序的基本实现:
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;
}
}
}
}
其中,外层循环控制比较轮数,内层循环控制每轮比较的次数。在每轮比较中,从第一个元素开始,依次比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置。
冒泡排序的时间复杂度为O(n^2),不适合对大量数据进行排序。