冒泡算法


冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历待排序的元素列表,比较相邻的两个元素,并逐步将最大(或最小)的元素“冒泡”到列表的一端。

具体实现步骤如下:

从列表的第一个元素开始,比较它与下一个元素的大小关系。 如果当前元素大于下一个元素,则交换它们的位置,将较大的元素往后移动。 继续比较下一个相邻元素,重复上述操作,直到遍历到列表的倒数第二个元素。 重复执行前面的步骤,每次遍历都将最大的元素“冒泡”到列表的末尾。 经过 n-1 次遍历后,所有元素都按照从小到大(或从大到小)的顺序排列。 冒泡排序的时间复杂度为 O(n^2),其中 n 为待排序列表的长度。虽然冒泡排序在效率上不如其他高级排序算法,但对于小规模数据或基本有序的数据,它仍然是一个简单且可行的排序方法。

以下是一个使用 Python 实现的冒泡排序示例:

python def bubble_sort(arr): n = len(arr) for i in range(n - 1): for j in range(n - i - 1): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j]

示例用法

my_list = [5, 2, 8, 12, 1] bubble_sort(my_list) print(my_list) # 输出 [1, 2, 5, 8, 12] 在上述示例中,通过嵌套的循环实现了冒泡排序。外层循环控制遍历次数,内层循环进行元素比较和交换操作。经过多次遍历后,列表中的元素按照从小到大的顺序排列。