当前位置 博文首页 > dastu的博客:冒泡、简单选择、直接插入、快排(python实现)

    dastu的博客:冒泡、简单选择、直接插入、快排(python实现)

    作者:[db:作者] 时间:2021-09-19 19:27

    冒泡排序
    l=[3,5,7,8,4,1,2,9,10]
    length=len(l)
    for i in range(length):
        for j in range(length-i-1):
            if l[j]>l[j+1]:
                temp=l[j]
                l[j]=l[j+1]
                l[j+1]=temp
    print(l)

    ?

    简单选择排序
    
    l=[3,5,7,8,4,1,2,9,10]
    length=len(l)
    for i in range(length):
        m=l[i]
        tag=i
        for j in range(i,length):
            if m>l[j]:
                m=l[j]
                tag=j
        l[tag]=l[i]
        l[i]=m
    print(l)
    直接插入排序
    l=[5,3,7,8,4,1,2,9,10]
    length=len(l)
    for i in range(1,length):
        for j in range(i-1,-1,-1):
            if l[j+1]<l[j]:
                temp=l[j+1]
                l[j+1]=l[j]
                l[j]=temp
            else:break
    print(l)
    快速排序
    def quicksort(data):
        d=[[],[],[]]
        pivot=data[-1]
        for i in data:
            if i>pivot:
                d[2].append(i)
            elif i<pivot:
                d[0].append(i)
            else:
                d[1].append(i)
        if len(d[0])>1:
            d[0]=quicksort(d[0])
        if len(d[2])>1:
            d[2]=quicksort(d[2])
        d[0].extend(d[1])
        d[0].extend(d[2])
        return d[0]
    
    l=[5,3,7,8,4,1,2,9,10]
    l=quicksort(l)
    print(l)

    ?

    cs
    下一篇:没有了