首页 > 编程语言 > 详细

冒泡排序

时间:2020-11-24 20:28:40      阅读:35      评论:0      收藏:0      [点我收藏+]
# 冒泡排序:1.外循环 2.内循环 3.内循环需要把已经循环过的不再循环了
#一维数组排序
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): #这个循环是控制交换的 9
        if l[j] > l[j+1]:
            l[j],l[j+1] = l[j+1],l[j]
print(l)

注意:

1.多少趟,-1是因为外循环10个元素,其实只需要循环9次就循环完了--可理解为循环总长度

2.内循环-1也是因为交换循环的时候,从0开始的,等于长度会字段长度溢出,-i是因为外循环过的数,最大的已经排在了最后面了,就不用再排序了,节省时间可以---可理解为循环元素

3.所以第三步区元素内容的时候要用第二轮循环的j而不是i

 

#二维数组排序
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}
data1=d.items()
data = list(d.items())
print(data1)
print(type(data1))
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

  重点和区别再

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

冒泡排序

原文:https://www.cnblogs.com/MLing/p/14032218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!