冒泡排序(Bubble Sort)是一种简单的排序算法,它多次迭代列表,每次比较相邻的两个元素并交换它们,直到整个列表都被排序。每次迭代都将最大的元素“冒泡”到未排序部分的末尾。
以下是使用冒泡排序算法对 Python 列表进行排序的示例代码:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 最后 i 个元素已经在正确的位置,无需再比较
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
# 如果当前元素大于下一个元素,交换它们
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 测试冒泡排序算法
my_list = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(my_list)
print("排序后的列表:", my_list)
运行此代码将输出:
排序后的列表: [11, 12, 22, 25, 34, 64, 90]
在这个示例中,bubble_sort()
函数接受一个列表作为参数,并对其进行冒泡排序。
外层循环从列表的开头到末尾进行迭代,内层循环从开头到未排序部分的末尾进行迭代,每次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们。这样,最大的元素逐渐“冒泡”到未排序部分的末尾。
冒泡排序的时间复杂度是 O(n^2),其中 n 是列表的大小。尽管它不是最高效的排序算法,但在小规模数据上仍然可以使用。