快速排序

时间:2020-07-26 01:15:00   收藏:0   阅读:65

快速排序

才发现自己配置好差,最坏情况10000就堆栈溢出了。。。。。

# coding: utf-8
import random
import sys

sys.setrecursionlimit(100000000)

def quick_sort(li, left, right):
    if left < right:
        mid = partition(li, left, right)
        quick_sort(li, left, mid-1)
        quick_sort(li, mid+1, right)
    return li


def partition(li, left, right):
    tmp = li[left]
    while left < right:
        while left < right and li[right] >= tmp:
            right -= 1
        li[left] = li[right]
        while left < right and li[left] <= tmp:
            left += 1
        li[right] = li[left]
    li[right] = tmp
    return left


li = list(range(10000,0,-1))
random.shuffle(li)
print(quick_sort(li,0,len(li)-1))

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!