Python之冒泡排序

来源:互联网 发布:淘宝行业数据专用词 编辑:程序博客网 时间:2024/06/05 01:58
from random import randint'''    该方法传入两个参数    lst:当前待排序列表    reserve 若不传值,默认为True    reserve = True 从大到小排列    reserve = False 从小到大排列'''def bubbleSort(lst, reverse=True):    # 获取列表长度    length = len(lst)    for i in range(0, length):        for j in range(0, length - i - 1):            # 比较相邻两个元素大小,并根据需要进行交换            # 默认升序排序            exp = 'lst[j] > lst[j+1]'            # 如果reverse=True则降序排序            if reverse:                exp = 'lst[j] < lst[j+1]'            if eval(exp):                lst[j], lst[j + 1] = lst[j + 1], lst[j]# 声明20个长度的list列表lst = [randint(1, 100) for i in range(20)]# 输出未排序前列表print('Before sort:\n', lst)# 开始排序bubbleSort(lst, True)# 输出排序后列表print('After sort:\n', lst)

运行结果


这里写图片描述