2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python冒泡排序算法思路_Python学习笔记(9)冒泡排序算法

python冒泡排序算法思路_Python学习笔记(9)冒泡排序算法

时间:2020-04-11 22:39:36

相关推荐

python冒泡排序算法思路_Python学习笔记(9)冒泡排序算法

一、冒泡排序思路(降序)

l = [2,5,12,352,1,23,35,63,5,2] # 0-9

对l进行排序

从列表中将第一个数与第二个数进行比较,如果第一个数小于第二个数,则两数交换顺序,再次将第二个数与第三个数比较,如果第二个数小于第三个数,则交换顺序,依次比较len(l)-1次

第一层循环:第一个数与第二个比较,第二个数与第三个比较,依次比较了len(l)-1次

第二层循环:经历第一层循环后,最大的数排到数据第一位,接下来,从第二个数开始继续第一层的循坏,每经过第一层循环后,第二层循环需要比较的数就少一个,故需要经过len(l)-1-第一层循环次数

代码:

l = [2,5,12,352,1,23,35,63,5,2] # 0-9

for i in range(len(l)-1): #这个是控制总共需要多少趟

for j in range(len(l)-1-i): #这个循环是控制交换的次数

if l[j] < l[j+1]:

l[j],l[j+1] = l[j+1],l[j]#交换两个变量值

print(l)

返回数据:

[352, 63, 35, 23, 12, 5, 5, 2, 2, 1]

二、对字典value值排序实例:

d = {'行者无疆': 246, '王三侠': 210, '大亮': 128, '毛多锁': 418, '追~落日': 3.21, '小文': 416, '瑞峰': 22.13, '尤文奎Alex': 138, '阿梁': 167, '山峰': 0, 'David': 350, '胖胖球🐌': 68.16, '幸福哥': 100, '梁明': 350, '郝明明': 64, '赵宗来': 136.32, '平民之女': 9.66, '王俊兵': 65, '祁棒棒': 79.24, '陈陈': 20, '兔兔': 49, '小了白了兔': 55, '高娃': 100.7, '漠然': 139, '心语': 216, '王成': 183, '陈卫亮': 141.75}

data = list(d.items())

for i in range(len(data)-1): #这个是控制总共需要多少趟

for j in range(len(data)-1-i): #这个循环是控制交换的 9

if data[j][-1] < data[j+1][-1]:

data[j],data[j+1] = data[j+1],data[j]

count = 1

for name,km in data:

print('%s. %s %s'%(count,name,km))

count+=1

返回数据:

1. 毛多锁 418

2. 小文 416

3. David 350

4. 梁明 350

5. 行者无疆 246

6. 心语 216

7. 王三侠 210

8. 王成 183

9. 阿梁 167

10. 陈卫亮 141.75

11. 漠然 139

12. 尤文奎Alex 138

13. 赵宗来 136.32

14. 大亮 128

15. 高娃 100.7

16. 幸福哥 100

17. 祁棒棒 79.24

18. 胖胖球🐌 68.16

19. 王俊兵 65

20. 郝明明 64

21. 小了白了兔 55

22. 兔兔 49

23. 瑞峰 22.13

24. 陈陈 20

25. 平民之女 9.66

26. 追~落日 3.21

27. 山峰 0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。