排序算法lowb三人组-冒泡排序
2024-10-11 17:28:39
冒泡排序:顾名思义就是像气泡从水里浮出来一样
把列表立起来如上图所示,从列表的第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)
最新文章
- SQL Server 通过重建方式还原 master 数据库
- dedecms有条件sql注入(x0day)
- sqlServer 2008修改字段类型和重命名字段名称的sql语句
- DP:Dollar Dayz(POJ 3181)
- SSAS维度上有多个表的注意事项
- Error Dropping Database (Can't rmdir '.test\', errno: 17)
- (转)Combobox出现System.Data.DataRowView的原因,以及指定ValueMember的时机问题
- 运用DataTable进行行转列操作
- Android keyevent 中的各个值
- Java学习笔记(三):数组
- poj 2411 Mondriaan's Dream(状态压缩dp)
- Learning from the CakePHP source code - Part II
- SparkMLlib分类算法之支持向量机
- Java8新特性之一:Lambda表达式
- 左侧固定,右侧自适应的布局方式理解margin负值理论
- 使用Cobbler批量部署Linux和Windows:Windows系统批量安装(三)
- Android App专项测试(压力测试)
- Leetcode 1-10
- oracle11在docker环境下的运行
- Unity3d XmlException: Text node cannot appear in this state的方案
热门文章
- linux使用rsync、inotify-tools实现多台服务器文件实时同步
- POJ3666 Making the Grade
- leetcode-575-Distribute Candies(计算一个数组中元素的种类的快速方法)
- 在eclips中配置maven
- Navicat设定mysql定时任务
- Angular material mat-icon 资源参考_Device
- 2019.4.9 HTML+CSS写静态百度首页
- 配置idea解决乱码
- (转)MySQL5.6主从复制技术
- (转)[InnoDB系列] -- SHOW INNODB STATUS 探秘