当需求提到需要从小到大的排序时,我们很自然的就会想起最基础的“冒泡排序”

冒泡排序的原理就不再多说了,网上有一大堆,以下是python实现冒泡排序的代码。

对于冒泡排序算法,如果有n个数,一共需要进行n-1趟的两两操作,而在n-1趟中的第i趟也需要进行两两对比,无论是从大到小还是从小到大,需要比较n-1-i个数

1. 循环体的思路如下:

最外层的循环次数为n-1

内层的比较次数应该是n-1-i  (每进行第n次比较,就有n个数已经冒泡被确定了下来,剩下的比较数为n-i-1)

内层的代码比较简单,即两个数的比较交换,我们引入一个中间变量作为转接桥梁即可。

2.具体循环的实现

由于python中的for...in循环通常是迭代器的作用

那么如何实现次数?

python中的for无法Java中的for(i=0;i<n;i++)这种书写形式,我们需要借助range()函数来实现次数的确定:

如升序的写法如下:

def sort_ascneding(L):n = len(L)for i in range(0,n):for j in range (0,n-i):if L[j] > L[j+1]:t = L[j]L[j] = L[j+1]L[j+1] = treturn L

3.冒泡排序的缺点

虽然好理解,但是太耗时间了

对于较少的数据运用冒泡排序没问题,但当数据量为海量时,电脑性能不好会直接卡死。

比如,你可以在IDE中跑一下如下代码,电脑肯定会死机,别问我是怎么知道的。

def sort_ascneding(L):n = len(L)for i in range(0,n):for j in range (0,n-i):if L[j] > L[j+1]:t = L[j]L[j] = L[j+1]L[j+1] = treturn L
print (sort_ascneding(list(range(99,100000))+list(range(11,100000))))

python 实现冒泡排序的思路和代码相关推荐

  1. python登录代码思路_用python登录Dr.com思路以及代码分享

    用python登录Dr.com思路以及代码分享 发布于 2014-08-28 22:31:52 | 192 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对 ...

  2. 2022年蓝桥杯Python程序设计B组思路和代码分享

    2022年蓝桥杯Python程序设计B组比赛结束了,分享一下题目以及思路. 文章目录 A:排列字母 题目: 思路: 代码: B: 寻找整数 题目: 思路: 代码: C: 纸张尺寸 题目: 思路: 代码 ...

  3. python简单的购物程序代码-Python实现购物程序思路及代码

    要求: 启动程序后,让用户输入工资,然后打印出带有序号的商品列表 用户输入商品序号购买相应的商品,或者输入 " q " 退出购买界面 选择商品后,检查余额是否足够,够则直接扣款,不 ...

  4. 华为OD机试 - 最多等和不相交连续子序列(Python)| 真题+思路+考点+代码+岗位

    最多等和不相交连续子序列 题目 给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和. 数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和. 求一组连续子序列 ...

  5. 50行的python游戏代码_50行代码实现贪吃蛇(具体思路及代码)

    [下载文档:  50行代码实现贪吃蛇(具体思路及代码).txt ] (友情提示:右键点上行txt文档名->目标另存为) 50行代码实现贪吃蛇(具体思路及代码) 最近一直在准备用来面试的几个小de ...

  6. Python实现冒泡排序的代码

    以下是Python实现冒泡排序的代码: 格式有点问题,重新调整一下,如下: def bubbleSort(nums):# 设置一个flag,用来判断某次循环是否发生了交换flag = Truefor ...

  7. python实现冒泡排序完整算法_利用python实现冒泡排序算法实例代码

    利用python实现冒泡排序算法实例代码 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数 ...

  8. python写代码没思路_一种用python实现的自动重写文章标题的思路与代码实现

    好几周没更新了,今天来给大家分享一个标题重写的小思路以及代码实现. 相信大家可能都用过5118的自动文章标题的功能,就是给一篇内容,然后直接帮你写个标题.这个功能我是去年的时候一个学员给我看的,目前是 ...

  9. python+unittest框架 UI自动化设计思路以及代码剖析,增加易用性

    前言 学习UI自动化的同学都应该知道PO模式,PO共分为三层,分别是页面定位层,页面对象层,业务逻辑层. po模式有以下几个优点: 1.易读性好 2.扩展性高 3.复用性强 4.维护性好 5.代码冗余 ...

最新文章

  1. java语言的主要的知识点
  2. 【STM32】FreeRTOS 中断配置和临界段
  3. java状态机设计模式_设计模式总结-State模式
  4. ios刷android8.0,颤抖吧 iOS, Android 8.0正式发布!
  5. WDA演练一:用户登陆界面设计(一)
  6. java字符排序_Java实现对字符串中的数值进行排序操作示例
  7. 贪心 FZU 2013 A short problem
  8. 达内python第二阶段月考_Python编程练习题二
  9. 求PSASP大神指教一下安装问题
  10. 为什么低代码治好了CIO们的 “精神内耗” ?
  11. SPICE、IBIS等几种PCB信号完整性分析模型分析
  12. 无法访问此网站localhost 拒绝了我们的连接请求。请试试以下办法:检查网络连接检查代理服务器和防火墙ERR_CONNECTION_REFUSED
  13. VIEWGOOD(远古)供应校园网视频点播系统
  14. 6-使用VMWARE虚拟机调试XPE的方法
  15. 苹果安全赏金计划玩不起?研究人员怒发其未修复漏洞的源代码
  16. html css雪碧图,css常见小技巧(雪碧图)
  17. python量化实战 顾比倒数线_外汇高手分享:顾比倒数线的画法与经典战法
  18. Vmware虚拟机ip为127.0.0.1的解决办法,修改虚拟机IP的详细步骤
  19. 短视频美颜SDK里的祛痘功能是怎么实现的?
  20. python中excel基本操作实例

热门文章

  1. 机器视觉(11)ToF 3D视觉解析
  2. 高通新平台,骁龙735处理器参数介绍
  3. 刚设计的自动部署产品监控框架【图】
  4. CSS中文说明及字体颜色代码
  5. 湖北汽车工业学院Linux期末复习
  6. 荣耀手机动态修改电池数据
  7. 第九章:广度优先和深度优先搜索的一些总结
  8. 初学HTML代码笔记终极篇3之表单 列表
  9. python分析微信好友签名分析
  10. 哪个OS X版本支持哪个Xcode的版本?