首页 > 编程语言 > 详细

学习python 快速排序

时间:2015-02-13 18:36:02      阅读:288      评论:0      收藏:0      [点我收藏+]
def q(start , end , a):
    if start>= end :
        return
    else :
        mid = (start+end)/2
        i = start+1
        j = end
        key =a[start]
        while i<j:
            while i<=end and a[i]<key:
               i+=1
            while j>=start and a[j]>key:
               j-=1
            if i < j:
                tmp = a[i]
                a[i]=a[j]
                a[j]=tmp
        if a[start] > a[j]:
            tmp = a[start]
            a[start] = a[j]
            a[j] = tmp
        q(start,j-1,a)
        q(j+1,end ,a)


l = input('please input the length of array')
n = []
for x in range(l):
    n.append(input())
q(0,l-1, n)
print n
啊,写完了。

学习python 快速排序

原文:http://blog.csdn.net/u011700281/article/details/43795929

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!