码迷,mamicode.com
首页 > 编程语言 > 详细

快速排序

时间:2020-07-26 01:15:00      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:odi   溢出   while   span   dom   range   mit   sort   shuff   

快速排序

才发现自己配置好差,最坏情况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))

 

快速排序

标签:odi   溢出   while   span   dom   range   mit   sort   shuff   

原文地址:https://www.cnblogs.com/Bethuel/p/13378123.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!