快速排序装饰器算时间

import time



def runtime(func):
    def wrapper(*args,**kwargs):
        start=time.perf_counter()
        func(*args,**kwargs)
        end =time.perf_counter()
        print(end -start)
    return wrapper
# @runtime
# def quick (L):
#     m=L[1]
#     L.remove(m)
#     right ,left= [],[]
#     for x in L:
#         if x>m:
#             right.append(x)
#         else:
#             left.append(x)
#     return left+[m]+right
def quick (L):
    if len(L) ==0:
        return []
    m=L[len(L)//2]
    L.remove(m)
    left =quick([x for x in L if x <m])
    right =quick([x for x in L if x >m])
    return left+[m]+right




quick([10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容