题目:

给你一个数组,通过冒泡排序倒序输出,并打印每一步排序步骤。

原理:

要实现冒泡排序算法,我们首先就要理解冒泡排序算法的本质和原理。顾名思义,冒泡排序就是像水中的泡泡一样,将数列中所有相邻的两个元素进行比较。每一次对数列进行遍历都可以找到现有数字中最大的数,当本次遍历完成后,该数将被冒泡到最后一位,最终在多次遍历后完成排序。

至于遍历次数,则取决于我们传入的数组的长度。

思路:

首先,我们比较第一对相邻的两个数字,也就是第一个数字和第二个数字,如果前一个数字大于后一个数字,就将两个数字交换;然后我们比较第二对数字,即第二个数字和第三个数字。

同理当第二个数字比第三个数字大时就交换两个数字,否则不进行操作。重复进行此操作,直到比较到第n个数字和第n-1个数字,当本步骤交换完毕后,第n个数字(即最后一个数字)就是本数列中的最大数。

接下来,我们通过代码来实现。

代码:

# Author : Tracy微信:810295842
# coding : utf-8
def bub_sort(alist):n = len(alist)print("冒泡排序前 :{}".format(alist))for i in range(n - 1):for j in range(n - 1 - i):if alist[j] < alist[j + 1]:alist[j], alist[j + 1] = alist[j + 1], alist[j]print("第{}次排序后:{}".format(i+1, alist))if __name__ == '__main__':a = input("请输入一组数组,用空格分隔:").split(" ")for i in range(len(a)):a[i] = int(a[i])bub_sort(a)print("加微信进入招聘+技术交流群:746506216")

执行后结果:

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

Python冒泡排序深度剖析相关推荐

  1. 深度剖析冒泡排序机制

    深度剖析冒泡排序机制 首先冒泡的机制 从五个数来分析 假设一个数组 6,5,8,4,20 第一次排序: 先比较6,5,因为6>5,所以位置交换, 再比较8和6,位置不变, 然后比较4和8,交换这 ...

  2. python源代码-Python 源码深度剖析

    课程亮点 了解Python运行机制和设计思想: 熟悉背后的数据结构和算法原理: 结合工程实际,掌握高效程序设计之道: 高级面试知识点,求职更自信: 大量图表辅助学习,难点知识轻松拿下. 课程简介 能用 ...

  3. git原理详解与实操指南_全网最精:学git一套就够了,从入门到原理深度剖析

    以上资源收集至互联网 如有侵权请联系删除 资源获取方式 扫码关注资源库公众号 回复密码'20190812' 即可获得 截图展示 课程信息 课程难度:中级 学习人数:148352 课程状态:已完结 时长 ...

  4. 《AngularJS深度剖析与最佳实践》一2.10 承诺

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第2章,第2.10节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  5. 【新书速递】从原理、架构、案例三个维度深度剖析分布式数据库

    分布式数据库是分布式计算与数据库结合的产物.分布式数据库的概念早就存在,但是直到最近才真正引起产业界的高度重视.这得益于互联网和云计算技术的高速发展与广泛应用. 以"国家政务服务平台&quo ...

  6. Web代码安全漏洞深度剖析

    在当今互联网高速发展的环境下,信息安全成了热门话题,覆盖个人信息安全.企业信息安全,乃至国家安全.攻击者常常把目标定位在寻找和获取系统源码上,传统IT开发人员从0到1建设系统时,少不了涉及常规化的开发 ...

  7. epoll惊群效应深度剖析

    epoll惊群效应深度剖析 前情提要 我们一个基于Nginx+uWSGI+python的服务最近在高峰期经常会遇到负载高导致一些请求报错的情况,在单机qps只有差不多2000-3000左右的时候内核的 ...

  8. 《破坏之王—DDoS攻击与防范深度剖析》

    2019独角兽企业重金招聘Python工程师标准>>> <破坏之王-DDoS攻击与防范深度剖析> 在竞争激烈的互联网领域,总有一些组织和个人利用DDoS攻击进行破坏,从而 ...

  9. Python源码剖析:前言

    第0章:前言 0.0 我的前言  在几个月学习的中,已经学习了python基本.进阶的语法,如果有读者不清楚的话,可以参考我之前的专栏<python进阶>.  而在这个专栏<pyth ...

最新文章

  1. java在何时获得对象的确切类型_JAVA面试题(1)
  2. python3.6安装教程-Ubuntu16.04安装python3.6详细教程
  3. 【树莓派】树莓派CSI摄像头安装及测试方法
  4. W ndoWs文件夹窗口,如何在本地网络中访问-Synology-NAS-上的文件-(Wndows).pdf
  5. python—IFrame:在jupyter notebook中展示某个网页的情况
  6. 19【推荐系统3】AutoRec
  7. 开源:OpenJDK8 MIPS64(龙芯)
  8. WPS快捷键之 通用基础
  9. 为什么很多新型编程语言都抛弃了 C 语言风格的 for 语句?
  10. 京东商品详情数据接口(APP端,H5端),监控京东商品历史价格及价格走势,接口代码对接教程
  11. fx3u4ad一adp说明书_FX3U-4AD-ADP使用案例三菱FX3U-4AD-ADP硬件手册 - 广州正凌
  12. 不懂游戏类型?敢说你懂游戏音乐
  13. 即时编译器真心大冒险之解释器
  14. 2021年全球团状模塑料(BMC)收入大约657.1百万美元,预计2028年达到827.5百万美元
  15. Android仿今日头条手界面
  16. `Algorithm-Solution` `LeetCode` 6305. 二进制矩阵中翻转最多一次使路径不连通
  17. 嵌入式驱动移植之触摸驱动初识
  18. 免费矢量图标网站有哪些?
  19. excel中COUNTIF函数如何用
  20. ”一“的客观形态与主观感受之间的关联性研究

热门文章

  1. elasticsearch分词器词库热更新三种方案
  2. Dell XPS 13 9306安装 macOS 10.12.6
  3. CMNET vs CMWAP
  4. Android 消息总线汇总(一)
  5. calculate简写_通用简写表
  6. 图腾标准服务器机柜型号,图腾常用的机柜型号及全参数-20210804001933.pdf-原创力文档...
  7. 绝好用的迈科威(主控芯片)量产工具
  8. 2018年AI圈八大造假事件:罗生门此起彼伏,比娱乐圈精彩
  9. 重点:bat脚本的基本命令语法
  10. C语言做的接鸡蛋小游戏(附源码注释)【原创】