冒泡排序完整代码讲解

举报
川川菜鸟 发表于 2021/10/15 22:45:32 2021/10/15
【摘要】 讲解都在注释了,真的很清楚了,还有问题请留言,麻烦点个赞加个关注。 好了,上代码: #所谓冒泡,就是将元素两两之间进行比较,谁大就往后移动,直到将最大的元素排到最后面,接着再循环一趟,从头开始进行两两比...

讲解都在注释了,真的很清楚了,还有问题请留言,麻烦点个赞加个关注。
好了,上代码:

#所谓冒泡,就是将元素两两之间进行比较,谁大就往后移动,直到将最大的元素排到最后面,接着再循环一趟,从头开始进行两两比较,而上一趟已经排好的那个元素就不用进行比较了
def sort(items):  #def嘛,就理解为定义一个函数。sort来代表顺序,sort是我们随便取的,最好英文
    for i in range(len(items) - 1):  #len用来取一串数据长度,长度能理解吧。range()表示范围呗,range(0,6)就表示0取到5,即取左不取右。这个循环来表示要循环次数。相领两个数字为一组,例子就有6组。
        for j in range(len(items) - 1 - i):#每循环一次我们就可以少循环一次,比如说i已经变为3,那我们就可以少运行三次,就在原来基础上减3.
            if items[j] > items[j + 1]:#如果前面这个数比后面这个数大
                items[j], items[j + 1] = items[j + 1], items[j]#满足如果,就执行这个语句。让他俩调换位置。这样不就前面的比后面的小了。
    return items#函数结果我们要结束语句 return +定义的items.你也可以不是items,换个别的你喜欢的都行。

#难点:主要是两个循环:第一个循环我们确定循环次数,第二个循环我们就要执行,每一次循环都要少一次。为什么我们是len(items)-1,len(items)等于7呀,七个数字
# range(7)就代表0,1,2,3,4,5,6但是我们总共只需要六次第八,俩俩一组,六组,所以我们要减一。
list1 = [2, 1, 9, 11, 10, 8, 7]#列表,自己设定
print(sort(list1))#打印出来,调用前面的函数sort(),打印的是list1,所以是print(sort(list1)


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

文章来源: chuanchuan.blog.csdn.net,作者:川川菜鸟,版权归原作者所有,如需转载,请联系作者。

原文链接:chuanchuan.blog.csdn.net/article/details/109641469

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。