欢迎访问宙启技术站
智能推送

Python实现冒泡排序算法

发布时间:2023-12-04 08:56:51

冒泡排序是一种非常基础的排序算法,它的原理是通过比较相邻的两个元素,如果它们的顺序错误就交换位置。

Python中实现冒泡排序算法非常简单,可以按照以下步骤进行:

1. 定义一个包含待排序元素的列表。

2. 使用双重循环遍历列表,外层循环控制遍历次数,内层循环用于比较相邻元素。

3. 在内层循环中,如果相邻元素的顺序错误,则交换它们的位置。

4. 最外层循环完成后,列表中的元素就按照从小到大的顺序排列。

下面是一个使用冒泡排序算法对一个列表进行排序的示例:

def bubble_sort(lst):
    n = len(lst)
    for i in range(n):
        # 每次循环将最大的元素移动到列表末尾
        for j in range(n - i - 1):
            if lst[j] > lst[j + 1]:
                lst[j], lst[j + 1] = lst[j + 1], lst[j]

# 示例使用
lst = [5, 3, 8, 6, 7, 2]
bubble_sort(lst)
print(lst)

运行上述代码,输出结果为[2, 3, 5, 6, 7, 8],表示列表已按照从小到大的顺序排列。

冒泡排序的时间复杂度为O(n^2),在最坏情况下需要执行n(n-1)/2次比较与交换操作。当待排序列表已经是有序的时候,冒泡排序仍然需要进行完整的n次遍历才能结束,因此它的 情况时间复杂度也是O(n)。

尽管冒泡排序的效率不高,在实际运用中往往不是首选,但它对于理解排序算法的原理以及简单的任务排序仍然具有一定的意义。