以下是 Python 实现冒泡排序的代码:

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        # 提前退出冒泡循环的标志位
        flag = False
        for j in range(n - i - 1):
            if arr[j] > arr[j + 1]:
                # 交换
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
                # 表示有数据交换
                flag = True
        # 没有数据交换,提前退出
        if not flag:
            break
    return arr

在这个实现中,我们首先定义了一个 bubble_sort 函数,它接受一个数组 arr 作为输入,返回一个排好序的数组。

在函数中,我们使用了两个嵌套的循环来实现冒泡排序。外层循环控制排序的轮数,内层循环控制每一轮的比较和交换。

在每一轮中,我们使用了一个标志位 flag 来判断是否有数据交换。如果没有数据交换,说明数组已经排好序,可以提前退出冒泡循环,减少不必要的比较操作。

最后,我们返回排好序的数组。

用 Python 实现冒泡排序

原文地址: http://www.cveoy.top/t/topic/bL13 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录