排序算法
1、冒泡排序
2、选择排序
3、插入排序
本文档使用 MrDoc 发布
-
+
首页
1、冒泡排序
### **冒泡排序** ------------ 一个列表中,如果前面的数比后面的数大,则交换两个数,一趟排序完成后,则无序区减少一个数,有序区增加一个数。 **冒泡排序时间复杂度为 O(n²)** ```python def bubble_sort(li): for i in range(len(li)-1): for j in range(len(li) - i - 1): if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j] ``` **优化版本:** 如果冒泡排序中的一趟排序没有发生交换,则说明列表已经有序,可以直接结束算法。 ```python def bubble_sort(li): for i in range(len(li)-1): exchange = False for j in range(len(li) - i - 1): if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j] exchange = True if not exchange: return ```
李智
2025年3月17日 13:35
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码