python笔记2-冒泡排序
前言
面试的时候经常有面试官喜欢问如何进行冒泡排序?这个问题相信能难倒一批英雄好汉,本篇就详细讲解如何用python进行冒泡排序。
一、基本原理
1.概念:
二、交换两个数
1.如果a = 10 , b = 20如何交换两个数呢?
2.实现两个数的交换原理其实很简单,设一个临时变量c就可以了:
>先把a的值传给c,此时c的值就是10了,a的值还是10
>然后把b的值传给a,此时a的值是20,b的值还是20
>最后把c的值传给b, 此时b的值是10
3.python里面交换两个数不用那么复杂,用这个方法就行了:
>a , b = b, a
三、遍历比较相邻的数
1.比如一个队列是:[1, 3, 10, 9, 21, 35, 4, 6]
2.可以做一次遍历,比较相邻的数,前面的数比后面的数大就交换,这样第一次遍历可以把最大的数下沉到最后一个位置
3.为了便于理解,交换过的地方用红色框框圈出来了
四、循环下沉
1.上面的遍历比较只做了一次下沉,把最大的数下沉到最后一个位置了,那接下来就需要把第二大的数,下沉到倒数第二个位置,
依次循环,一直到最小的数在最上面。
2.这里s是先计算li队列的长度,然后把range函数反转了,变成:[7, 6, 5, 4, 3, 2, 1, 0]
五、sort()排序
1.讲真,python里面排序不用这么麻烦,一个函数搞定:sort()
六、参考代码
# coding:utf-8
li = [1, 3, 10, 9, 21, 35, 4, 6]
s = range(len(li))[::-1]
print s
for i in s:
for j in range(i):
if li[j] > li[j + 1]:
li[j], li[j + 1] = li[j + 1], li[j]
# 排序函数
# li.sort()
print li
觉得对你有帮助,就在右下角点个赞吧,感谢!
python接口自动化QQ群:226296743
[[1, 3, 10, 9, 21, 35, 4, 6]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具