冒泡

def bubble_sort(list1,le=lambda x, y: x > y):
    list2 = list1[:]  #复制列表,排序后对原列表无影响
    for i in range(len(list2)):
        emp = True
        for j in range(len(list2)- i -1):
            if le(list2[j], list2[j+1]):
                list2[j], list2[j+1] = list2[j+1], list2[j]
                emp = False
        if emp:
            break
    return list2


def main():
    list1 = [3, 2, 5, 7, 5, 6, 9, 1,99]
    print(bubble_sort(list1))  #打印排序后的列表
    print(list1)   #原列表


if __name__ == '__main__':
    main()

你可能感兴趣的:(冒泡)