看啥推荐读物
专栏名称: Python小屋
清华出版社《Python程序设计》系列教材作者董付国的Python小屋。介绍Python基础语法知识、标准库、扩展库知识,探讨Python在各领域的应用。
今天看啥  ›  专栏  ›  Python小屋

Python版快速排序算法

Python小屋  · 公众号  · Python  · 2017-10-27 09:36
快速排序算法是分治法的经典应用,具有非常高的效率。import randomdef quickSort(x, start, end):    if start >= end:        return        i = start    j = end    # 使用第一个元素作为枢点    key = x[start]        while i        # 从后向前寻找第一个比指定元素小的元素        while iand x[j]>=key:            j -= 1        x[i] = x[j]         # 从前向后寻找第一个比指定元素大的元素        while iand x[i]            i += 1        x[j] = x[i]            x[i] = key    # 递归,分治    quickSort(x, start, i-1)    quickSort(x, i+1, end)for i in range(100000):    # 生成随机测试数据    x = [random.randint(1,100) for i in range(20)]    y = sorted(x)    quickSort(x, 0, len(x)-1)    if x!=y:         ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照