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)

  

 

posted @   lytcreate  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示