美文网首页
排序算法

排序算法

作者: Loistein | 来源:发表于2020-05-31 00:26 被阅读0次
    
    # 冒泡排序-小数上浮,保证最小的在前面
    def bubbleSortI(blist):
        length = len(blist)
        for i in range(length):
            for j in range(i+1,length):
                if blist[i] > blist[j]:
                    blist[i],blist[j] = blist[j],blist[i]
        return blist
    
    # 冒泡排序 - 大数沉底,保证最大的在最后面
    def bubbleSortII(blist):
        length = len(blist)
        for i in range(length):
            for j in range(length-i-1):
                if blist[j] > blist[j+1]:
                    blist[j],blist[j+1] = blist[j+1],blist[j]
        return blist
    
    # 快速排序
    def quickSort(blist):
        if blist == []:
            return []
        else:
            first = blist[0]
            less = quickSort([l for l in blist if l < first])
            more = quickSort([m for m in blist if m > first])
            return less + [first] + more
    
    if __name__ == "__main__":
        print(bubbleSortI([8,6,9,1,3,10]))
        print(bubbleSortII([8, 6, 9, 1, 3, 10]))
        print(quickSort([8, 6, 9, 1, 3, 10]))
    

    相关文章

      网友评论

          本文标题:排序算法

          本文链接:https://www.haomeiwen.com/subject/nxgkzhtx.html