Python之冒泡排序

简单版:


 

 

 1 def paixu(values):
 2     # 结算列表的长度
 3     n = len(values)
 4     # 外层循环控制从头走到尾的次数
 5     for j in range(n - 1):
 6         # 用一个count记录一共交换的次数,可以排除已经是排好的序列
 7         count = 0
 8         # 内层循环控制走一次的过程
 9         for i in range(0, n - 1 - j):
10             # 如果前一个元素大于后一个元素,则交换两个元素(升序)
11             if values[i] > values[i + 1]:
12                 # 交换元素
13                 values[i], values[i + 1] = values[i + 1], values[i]
14                 # 记录交换的次数
15                 count += 1
16         # count == 0 代表没有交换,序列已经有序
17         if 0 == count:
18             break
19 
20 if __name__ == '__main__':
21     values = [888, 206, 33, 7, 4, 1, 404, 550, 0,18,6]
22     print("原列表为:{}".format(values))
23     paixu(values)
24     print("新列表为:{}".format(values))

 

posted @ 2021-04-16 17:38  干脆面666  Views(53)  Comments(0Edit  收藏  举报
/* 看板娘 */ /* 点击鼠标烟花效果 */