1.什么是冒泡排序呢?
经过与度娘的讨论,小编总结出来了一点:他是排序的一种算法,比较相邻的元素,如果符合不变,不符合的话就将他们的位置颠倒过来。

顾名思义,他之所以叫冒泡排序是因为,在他比较的同时,如果后面的值比前面的值小的话,后面的值就会像泡泡一样‘浮’到较大数值的前面,从而达到排序的效果。

2.代码实现:

#定义一个函数,进行冒泡排序
def mm(nn):  #nn在这个是一个数组参数#重复地进行直到没有再需要交换,所以需要迭代len(nn)*(len(nn)-1-i)次for i in range(len(nn)):for j in range(len(nn)-i-1):#冒泡排序的核心:相邻两个元素之间进行比较if nn[j]>nn[j+1]:#不满足条件的进行位置调换nn[j],nn[j+1]=nn[j+1],nn[j]
#参数设置
nn=[1,2,4,8,3]
#调用函数
mm(nn)
#循环打印
print('冒泡排序后的数组')
for i in range(len(nn)):print('{}'.format(nn[i]))

这个是升序,下面这个是降序:

def mm(nn):for i in range(len(nn)):for j in range(0,len(nn)-i-1):if nn[j]<nn[j+1]:nn[j],nn[j+1]=nn[j+1],nn[j]
nn=[1,2,4,8,3]
mm(nn)
print('冒泡排序后的数组')
for i in range(len(nn)):print('{}'.format(nn[i]))

注意:冒泡排序是可以进行升序和降序的,我刚开始就以为他只能升序,后来才发现是我错了。(/ω\)(/ω\)

3.重难点突破

其实我个人觉得这个函数最不容易理解的地方就是循环迭代的次数了。下面再给大家讲解一下循环那里。

大家看,第一个循环是将所有的元素调用出来,第二个循环是在第一个的基础上进行的。
在源代码上print一下

打印的结果:

从打印的情况来看:不断比较相邻两个数,每一轮比较结束都可以确定当前的最后一个数,直到最后一轮确定了第一个数为止,最后将这些数字组合到一起就实现了排序的目的。

我当时理解这点也是费了好大的功夫。((/ω\)(/ω\))希望我给你们解释清楚了。((/ω\)(/ω\))

与之类似的还有一个快速排序,给大家推荐一篇漫画,大家可以看一看,快速排序相对于冒泡排序的优点。
https://m.sohu.com/a/246785807_684445/?pvid=000115_3w_a

python中的冒泡序列相关推荐

  1. python的六个类型_介绍Python中6个序列的内置类型

    原标题:介绍Python中6个序列的内置类型 1.Python中6个序列的内置类型分别是什么? Python包含6中内建的序列,即列表.元组.字符串.Unicode字符串.buffer对象和 xran ...

  2. python中属于有序序列的有_Python中的有序序列有哪些

    Python中的有序序列有哪些 list.tuple以及str都是有序序列,和后面两者不同的是list是个可变对象,tuple和str则是不可变对象.主要讲的就是这三种的有序序列的一些方式.方法效果L ...

  3. Python中的数据序列(元组、集合、字典)

    Python中的数据序列 一.元组的定义与使用 1.为什么需要元组 思考:如果想要存储多个数据,但是这些数据是不能修改的数据,怎么做? 答:列表?列表可以一次性存储多个数据,但是列表中的数据允许更改. ...

  4. python中属于无序序列的有_Python字典和集合属于无序序列。(2.0分)_学小易找答案...

    [单选题]某公司成立十年来,每年都要组织公司学习公司创始人创办初期事迹的活动,以提炼升华公司精神,这种组织员工学习文化的做法,利用的是( )? [判断题]元组没有append().remove()等方 ...

  5. Python中的数据序列

    一.了解字符串 1.字符串的定义 字符串是 Python 中最常用的数据类型.我们一般使用引号来创建字符串.创建字符串很简单,只要为变量分配一个值即可. 案例1:使用单引号或双引号定义字符串变量 st ...

  6. Python中关于list序列和tuple序列的一些知识

    一.list和tuple的共同点和区别 共同点:1.两者都同为序列.2.两者都能储存不同的数据类型. 区别:1.tuple是静态的固定大小的,而list是动态分配存储空间,自动扩容的. 2.list ...

  7. python中的可变序列有哪些_Python可变序列中的一些坑,记得多注意

    听说面试官比较喜欢这些坑. 函数默认参数可变 默认参数有个最大的坑,演示如下: 先定义一个函数,传入一个 list,添加一个END再返回: def add_end(L=[]): L.append('E ...

  8. python中什么是序列_在Python中,什么是字符串序列?(或者是油嘴滑舌的虫子?)...

    我知道这个问题看起来很愚蠢,但我真的搞不懂.我天真地认为字符串序列是字符串列表.但是,这失败了:(pid, stdin, stdout, stderr) = glib.spawn_async( arg ...

  9. python中集合是序列吗_Python中序列,列表,元组,字典及集合

    1.序列 一块用于存放多个值的连续内存空间,且按一定顺序排列,每个值都分派一个数字,称为索引或位置 (1).索引 序列中的每个元素都有一个编号,从0开始 若负数作为索引时,是从-1开始的,最后一个元素 ...

最新文章

  1. 使用小技巧教你用Selenium获取鼠标指向的元素
  2. 动手写 framebuffer 画点、划线程序 (七)
  3. Java8 Stream 数据流,大数据量下的性能效率怎么样?
  4. Http和Socket连接区别
  5. 如何规范 CSS 的命名和书写
  6. 内核级利用通用Hook函数方法检测进程
  7. mysql 安装目录配置_linux 下mysql安装,目录配置
  8. BeautifulSoup_python3
  9. 关于MySQL 通用查询日志和慢查询日志分析
  10. 如何仿微信聊天软件搭建
  11. 反式作用因子/转录因子/顺式作用元件
  12. 网站一直被大流量DDOS攻击,服务器被打死了怎么办?
  13. Vue前端实战——外卖商家
  14. jmeter性能测试场景设计
  15. 舒适区、学习区、恐慌区
  16. 加拿大留学后移民成功的制胜法宝-PGWP毕业后工签
  17. 浮点数 C语言 IEEE754
  18. No fallbackFactory instance of type class com.ruoyi.system.api.factory.RemoteLogFallbackFactory foun
  19. 【课内学习】数字电路Flip-Flop
  20. python控制微信屏蔽_Python之微信消息防撤回

热门文章

  1. 人工智能要闻: 沃尔玛用机器人取代数千岗位, 腾讯开AI加速器, 猎户星空获微软人脸识别有限制类第一名
  2. 缓存三连问:项目中如何使用、为什么要使用、使用不当会造成什么后果?
  3. 新享科技签约京微齐力,UniPro全方位助力国产FPGA研发管理
  4. ultraedit激活许可证密钥 程序员必备辅助开发编辑器
  5. 基于SSM的“安家”儿童福利院管理系统(计算机毕业设计)
  6. micropython应用触摸屏_[TPYBoard - Micropython之会python就能做硬件 2] 利用micropython控制NOKIA 5110屏...
  7. mybatis 游标查询_数据库游标(示例代码)
  8. QT多线程(三)线程互斥与同步
  9. Kindlenbsp;KDKnbsp;Publishing
  10. MICROSOFT EXCEL DRIVER未发现数据源名称并且未指定默认驱动程序