冒泡排序

冒泡排序:每两个相邻的值进行对比、换位,如果不满足条件则不换。一次冒泡则将一个值移动到它该在的位置。重复操作循环n次,完成一个列表有n个值的排序操作

def bubble_sort(arr):
    """冒泡排序,arr是列表"""
    n = len(arr)
    if n <= 1:
        return
    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


if __name__ == "__main__":
    nums = [4, 1, 33, 7, 5, 23, 56, 11, 10]

    print("排序之前:", nums)
    bubble_sort(nums)
    print("排序之后:", nums)

  

posted @ 2020-06-22 08:10  萌新_python  阅读(87)  评论(0)    收藏  举报