from random import randint

def bubbleSort(lst, reverse=False):

length = len(lst)

for i in range(0, length):

for j in range(0, length-i-1):

#比较相邻两个元素大小,并根据需要进行交换

#默认升序排序

exp = 'lst[j] > lst[j+1]'

#如果reverse=True则降序排序

if reverse:

exp = 'lst[j] < lst[j+1]'

if eval(exp):

lst[j], lst[j+1] = lst[j+1], lst[j]

#测试

lst = [randint(1, 100) for i in range(20)]

print('Before sort:\n', lst)

bubbleSort(lst, True)

print('After sort:\n', lst)

Python版冒泡法排序算法相关推荐

  1. Python版常见的排序算法

    学习笔记 排序算法 目录 排序分为两类,比较类排序和非比较类排序,比较类排序通过比较来决定元素间的相对次序,其时间复杂度不能突破O(nlogn):非比较类排序可以突破基于比较排序的时间下界,缺点就是一 ...

  2. 汇编语言实现冒泡法排序

    利用冒泡法排序算法,将内存单元存储的数35H,78H,25H,13H,8H,D2H由大到小进行排序. DATA SEGMENT DAT DB 35H,78H,25H,13H,8H,0D2H DATA ...

  3. 微课|中学生可以这样学Python(例8.22):冒泡法排序

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第8章  常用算法的Python实现 例8.22  冒泡法排序 京东购买链接:https://it ...

  4. 冒泡法和选择法 排序算法实现

    @冒泡法和选择法 排序算法实现 void swap(int& a, int& b) {int temp=0;temp = a;a = b;b = temp; }void bubble_ ...

  5. C语言算法:冒泡法排序

    C语言 冒泡法排序 要点:如果要对 N 个数 进行冒泡排序,那么要进行 N-1 趟 比较,在第1 趟比较中 要 进行 N-1 次两两 比较,(C语言中的数值比较 每次只能在 两个数之间),推而广之,在 ...

  6. Raptor 经典例题 2 (冒泡法排序 100名同学拉成一圈)

    冒泡法排序 运用 raptor 算法:相邻的两个数进行比较,根据大小交换,最大的数下沉到后面,最小的数上升一个位次 如果有n个数,需要比较n-1轮,每轮比较n-1次 P70-8.100名同学拉成一圈, ...

  7. C语言 冒泡法排序,选择法排序和插入排序

    实例1 冒泡法排序 数组中有N个整数,用冒泡法将它们从小到大(或从大到小)排序. 实例解析: 排序是非常重要且很常用的一种操作,有冒泡排序.选择排序.插入排序.希尔排序.快速排序.堆排序等多种方法.这 ...

  8. 7-2 冒泡法排序之过程 (15分)

    7-2 冒泡法排序之过程 (15分) 本题要求使用冒泡法排序,将给定的n个整数从小到大排序后输出,并输出排序过程中每一步的中间结果. 冒泡排序的算法步骤描述如下: 第1步:在未排序的n个数(a[0]〜 ...

  9. C语言数组的五种简单排序,选择法排序,冒泡法排序、交换法排序、插入法排序、折半法排序

    文章目录 1.选择法排序 2.冒泡法排序 3.交换法排序 4.插入排序 5.折半法排序 6.五种方法比较 1.选择法排序 选择法排序是指每次选择索要排序的数组中的最小值(这里是由小到大排序,如果是由大 ...

最新文章

  1. 黄聪:IE6下css大bug:文字神秘消失,鼠标选择了才出现
  2. spring的有状态BEAN和无状态BEAN
  3. for、enumerat、range、xrange
  4. RabbitMQ惰性队列
  5. 如何更有效使用 Rational AppScan 扫描大型网站,第 2 部分: 案例分析
  6. [蓝桥杯][基础练习VIP]2n皇后问题(深搜)
  7. IOS开发之格式化日期时间的使用 编程中常见问题
  8. 压缩js和css, IIS开启Etags, IIS开启Gzip
  9. python sublime 提示补全_【原创】Sublime+Verilator建立强大的verilog编写环境
  10. 用 ABAP 新建本地 Excel 文件并写入数据试读版
  11. 2串口两串口三串口多串口3串口转WiFi透传模块实现多通道与服务器透传
  12. 游戏测试一工作原理及测试流程
  13. SAR图像聚焦质量评价插件
  14. Win10 桌面图标出现空文件夹的删除及桌面图标排列问题
  15. 函数强凸 strong convexity
  16. 又一家初创公司获得数千万融资进军边缘计算赛道!
  17. opencv------图片转化为视频
  18. Centos7 修改文件夹权限和用户名用户组
  19. 管理学十大经典图书推荐
  20. HTML5 + CSS +JavaScript基本标签的使用(入门

热门文章

  1. java 图片拼接_Java拼接多张图片,可以连接在一起 | 学步园
  2. 通风与防排烟工程电子书_工厂防排烟系统与通风空调系统的兼用设计
  3. 角速度求积分能得到欧拉角吗_高中物理竞赛典型例题精讲——中垂平面内电荷圆周运动角速度...
  4. 反恐精英的服务器存在哪个文件夹,反恐精英地图放在哪里 CS1.6地图放置位置详细介绍_游侠网...
  5. 统计网站 同一IP访问的次数及IP地址
  6. QQ动态头像和动态主页
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上书店管理系统
  8. [Async] [Series #1] 初识Async异步编程模型。
  9. springboot--多环境
  10. 网络编程基础【林老师版】:简单的 套接字通信(一)