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

python快排算法

时间:2016-06-14 11:35:32      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:

通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列

 1 def kp(arr,i,j):
 2      if i < j:
 3         base = kpgc(arr,i,j)
 4         kp(arr,i,base)
 5         kp(arr,base+1,j)
 6 def kpgc(arr,i,j):
 7     base = arr[i]
 8     while i < j:
 9         while i < j and arr[j] >= base:
10             j -= 1
11         while i < j and arr[j] < base:
12             arr[i] = arr[j]
13             i += 1
14             arr[j] = arr[i]
15     arr[i] = base
16     return i
17 
18 lst=[11,2323,54,543,5,53,45]
19 kp(lst,0,len(lst)-1)
20 print (lst)

python快排算法

标签:

原文地址:http://www.cnblogs.com/cp-miao/p/5583202.html

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