冒泡排序:顾名思义就是像气泡从水里浮出来一样

把列表立起来如上图所示,从列表的第0项开始循环(把最大的数想成此次循环的气泡)

要把最大的放到上面那那就用第0项开始一次和剩下的开始比较,只要比第0项小就把他们两个的位置互换一次类推,循环一圈下来7就到了他应该处在的位置上.

def bubble_sort(li):
for i in range(len(li)-1): # i表示第n趟 一共n或者n-1趟
exchange = False
for j in range(len(li)-i-1): # 第i趟 无序区[0, n-i-1] j表示箭头 0~n-i-2
if li[j] > li[j+1]:
li[j], li[j+1] = li[j+1], li[j]
exchange = True
if not exchange:
break

循环结束后,列表就排好序了,但是有点复杂,要循环N*N次

最好情况:O(N)

平均情况:O(N^2)

最坏情况:O(N^2)

最新文章

  1. SQL Server 通过重建方式还原 master 数据库
  2. dedecms有条件sql注入(x0day)
  3. sqlServer 2008修改字段类型和重命名字段名称的sql语句
  4. DP:Dollar Dayz(POJ 3181)
  5. SSAS维度上有多个表的注意事项
  6. Error Dropping Database (Can't rmdir '.test\', errno: 17)
  7. (转)Combobox出现System.Data.DataRowView的原因,以及指定ValueMember的时机问题
  8. 运用DataTable进行行转列操作
  9. Android keyevent 中的各个值
  10. Java学习笔记(三):数组
  11. poj 2411 Mondriaan's Dream(状态压缩dp)
  12. Learning from the CakePHP source code - Part II
  13. SparkMLlib分类算法之支持向量机
  14. Java8新特性之一:Lambda表达式
  15. 左侧固定,右侧自适应的布局方式理解margin负值理论
  16. 使用Cobbler批量部署Linux和Windows:Windows系统批量安装(三)
  17. Android App专项测试(压力测试)
  18. Leetcode 1-10
  19. oracle11在docker环境下的运行
  20. Unity3d XmlException: Text node cannot appear in this state的方案

热门文章

  1. linux使用rsync、inotify-tools实现多台服务器文件实时同步
  2. POJ3666 Making the Grade
  3. leetcode-575-Distribute Candies(计算一个数组中元素的种类的快速方法)
  4. 在eclips中配置maven
  5. Navicat设定mysql定时任务
  6. Angular material mat-icon 资源参考_Device
  7. 2019.4.9 HTML+CSS写静态百度首页
  8. 配置idea解决乱码
  9. (转)MySQL5.6主从复制技术
  10. (转)[InnoDB系列] -- SHOW INNODB STATUS 探秘