📅  最后修改于: 2023-12-03 15:22:36.270000             🧑  作者: Mango
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换它们的位置。遍历数列的工作是重复进行直到没有再需要交换的元素,也就是说该数列已经排序完成。
以下是冒泡排序的算法步骤:
public static void bubbleSort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换 arr[j] 和 arr[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
其中,arr
是待排序的数组,len
是数组的长度。第一层循环控制一共需要进行多少轮排序,第二层循环则控制每轮排序需要比较的次数。当发现相邻两个元素顺序错误时,就交换它们的位置。
冒泡排序是一种稳定的排序算法,时间复杂度为 O(n^2)。对于数量较少的元素,此算法通常表现良好,但是对于数量较多的元素则不太适合,因为其复杂度较高。