Python 常见排序:冒泡、选择、快速
简单说明:
1.冒泡排序:双层循环,交替结果
2.选择排序:while nums,假设第一个值为做小,通过for循环找到最小值以此来替换,再将nums中该值去掉继续上述步骤
3.快速排序:定义一个初值,把整个数据列表分为两部分,再递归
代码实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | # 冒泡排序 def action1(n): for i in range ( len (n)): for j in range ( len (n)): if n[i] < n [j]: tmp = n[i] n[i] = n[j] n[j] = tmp print (n) # 选择排序 def choice_order(n): sm = n[ 0 ] si = 0 for i in range ( len (n)): if n[i] < sm: sm = n[i] return sm def action2(n): rs = [] while n: res = choice_order(n) rs.append(res) n.remove(res) print (rs) # 快速排序 def action3(n): if len (n) < 2 : return n num = n[ 0 ] less = [i for i in n if i < num] more = [i for i in n if i > num] return action3(less) + [num] + action3(more) if __name__ = = '__main__' : nums = [ 1 , 6 , 3 , 2 , 7 ] # 冒泡排序 action1(nums) # 选择排序 action2(nums) # 快速排序 res = action3(nums) print (res) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix