美文网首页
排序函数比较

排序函数比较

作者: 大飞哥 | 来源:发表于2015-07-08 15:09 被阅读14次

    自写函数bb_sorted()

    其中,值得注意的
    setup变量的使用
    stackoverflow问题: how-to-use-timeit-module

    # -*- coding: utf-8 -*-
    #!/bin/env python
    
    # def test1():
    #     n=0
    #     for i in range(101):
    #         n+=i
    #     return n
    
    # def test2():
    #     return sum(range(101))
    
    # def test3():
    #     return sum(x for x in range(101))
    setup='''
    import random
    l=[]
    for x in range(100):
        l.append(random.randint(1,100))
    
    def bb_sorted(l):
        for i in range(len(l)-1):
            for j in range(i,len(l)):
                if l[i] >= l[j] :
                    l[i],l[j]=l[j],l[i]
        return l
    '''
    if __name__=='__main__':
        from timeit import Timer
        # t1=Timer("test1()","from __main__ import test1")#两个参数都是字符串。 第一个参数是你要计时的语句或者函数。  
        # t2=Timer("test2()","from __main__ import test2")#传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句。
        # t3=Timer("test3()","from __main__ import test3")
        # print t1.timeit(1000000)#默认为一百万次;返回所耗费的秒数。
        # print t2.timeit(1000000)
        # print t3.timeit(1000000)
        # print t1.repeat(3,1000000)#两个参数都是可选的,它们的默认值分别是 3 和 1000000。
        # print t2.repeat(3,1000000)
        # print t3.repeat(3,1000000)
        t1=Timer("bb_sorted(l)",setup)
        t2=Timer("sorted(l)",setup)
    
        print(t2.timeit(100000))
        print(t1.timeit(10))
    

    相关文章

      网友评论

          本文标题:排序函数比较

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