[排序] 冒泡排序(Python)
来源:互联网 发布:ip地址修改软件 编辑:程序博客网 时间:2024/05/02 01:55
思想
依次比较相邻两元素的大小,顺序与要求的不一致就交换。这样会把待排序序列中的最大(最小)元素不断”浮”到最右端,最终完成升序或降序排列。
示例
对序列 [2, 4, 1, 3, 6, 5] 按升序排列(只记录有交换发生的循环)。
第一次循环:
[2, 4, 1, 3, 6, 5] –> [2, 1, 4, 3, 6, 5] –> [2, 1, 3, 4, 6, 5] –> [2, 1, 3, 4, 5, 6]
第二次循环:
[2, 1, 3, 4, 5, 6] –> [1, 2, 3, 4, 5, 6]
代码
class Solution: # @param {int[]} A an integer array # @return nothing def sortIntegers(self, A): # 优化循环终止条件,可减少循环次数,当一次循环中没有交换发生,则已经完全有序 f = 1 for i in range(len(A) - 1): for j in range(len(A) - 1 - i): if A[j] > A[j + 1]: self.swap(A, j, j + 1) f = 0 if f: break def swap(self, A, i, j): tmp = A[j] A[j] = A[i] A[i] = tmp
时间复杂度
最好时间复杂度
阅读全文
0 0
- [排序] 冒泡排序(Python)
- Python排序算法-冒泡排序
- 排序算法-冒泡排序(python)
- 冒泡排序-python
- python冒泡法排序
- python冒泡排序
- python冒泡排序
- python冒泡排序
- python冒泡排序
- python 实现冒泡排序
- python 冒泡排序
- 冒泡排序实现--python
- python冒泡排序
- Python 冒泡排序
- Python 实现冒泡排序
- Python 实现冒泡排序
- python 冒泡排序
- python练习冒泡排序
- Sublime Text3通过HTML-CSS-JS Prettify自动格式化代码
- linux 链接jsoncpp库时候, 编译出错问题
- LeetCode-Easy-Java-Longest Common Prefix
- Halcon实现边缘提取
- 通过注解方式配置Spring实现Ioc
- [排序] 冒泡排序(Python)
- 真正意义上的前端开发
- thinkphp获取参数,可以用空input标签存起来,然后使用
- Hadoop系列--Hadoop再安装
- 乐观锁与悲观锁
- SEO(搜索引擎优化)这项技术将一直伴随搜索引擎还是会没落?
- JDE算月份数和算天数
- laravel-使用验证码
- CentOS7安装配置vsftp搭建FTP