前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python面试:实现快速排序(python经典编程案例)

python面试:实现快速排序(python经典编程案例)

作者头像
用户7886150
修改2021-01-18 11:47:37
3590
修改2021-01-18 11:47:37
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Python中的快速排序Quicksort

import random

import timeit

def randomList(n):

    '''返回一个长度为n的整数列表,数据范围[0,1000) '''

    iList = []

    for i in range(n):

        iList.append(random.randrange(1000))

    return iList

def quickSort(iList):

    if len(iList) <= 1:

        return iList

    left = []

    right = []

    for i in iList[1:]:

        if i <= iList[0]:

            left.append(i)

        else:

            right.append(i)

    return quickSort(left) + [iList[0]] + quickSort(right)

if __name__ == "__main__":

    iList = randomList(20)

    print(iList)

    print(quickSort(iList))

    print(timeit.timeit("quickSort(iList)", "from __main__ import quickSort,iList", number=100))

执行结果如下: 

[570, 881, 704, 70, 871, 423, 583, 411, 856, 999, 220, 991, 877, 301, 795, 290, 95, 13, 289, 419]

[13, 70, 95, 220, 289, 290, 301, 411, 419, 423, 570, 583, 704, 795, 856, 871, 877, 881, 991, 999]

0.0019199240000000034

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档