Python冒泡排序

2019-05-09  本文已影响0人  黑咔

1.算法原理:
冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。
走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

2.数据交换的步骤演示:

冒泡排序

3.代码实现

def bubble_sort(arr):
    i = 0
    while i < len(arr) - 1:
        flag = False  # 判断列表是否有序,如果本身就是个有序的列表,就不需要进行操作了
        j = 0
        while j < len(arr) - 1 - i:
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
                flag = True  # 如果交换过,就把flag置为True
            j += 1
        if not flag:  # 如果flag是False说明一次也没交换过,列表现在已经是有序的,直接break掉
            break
        i += 1
上一篇 下一篇

猜你喜欢

热点阅读