炬哥技术博客

Python冒泡排序

炬哥 2024年05月30日 Python 1453 0

1、算法步骤

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。


2、动图演示

冒泡.gif


3、代码

# 定义一个函数bubbleSort,参数为一个列表arr
def bubbleSort(arr):
    # 从索引1开始遍历到列表arr的末尾
    for i in range(1, len(arr)):
        # 内层循环,从索引0开始遍历到len(arr) - i
        for j in range(0, len(arr) - i):
            # 如果当前元素大于后面一个元素
            if arr[j] > arr[j + 1]:
                # 交换两个元素的位置
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    # 返回排序后的列表arr
    return arr


打赏 支付宝打赏 微信打赏

声明:本文由发布,如需转载请注明出处。

发布评论

分享到:

炬哥技术博客

欢迎炬哥微信号:4508175 (左侧二维码扫一扫)

Python插入排序
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,您可以吐槽或者留言。