冒泡排序

阅读量: 272 编辑

冒泡排序(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 是列表的大小。尽管它不是最高效的排序算法,但在小规模数据上仍然可以使用。

爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司