首页 > 编程语言 > 详细

python_快速排序

时间:2019-07-21 21:45:53      阅读:85      评论:0      收藏:0      [点我收藏+]

def quickSort(mylist):
if len(mylist) <= 1:
return mylist
list1,list2,list3 = [],[],[]
for x in range(len(mylist)):
if mylist[x] < mylist[0]:
list1.append(mylist[x])
elif mylist[x] == mylist[0]:
list2.append(mylist[x])
else:
list3.append(mylist[x])
return quickSort(list1) + list2 + quickSort(list3)

 


def quickSort1(mylist,start,end):
if len(mylist) <= 1 or start <= end:
return
low = start
high = end
key = mylist[start]
while start<end:
while mylist[end]>key and start<end:
end += 1
mylist[start] = mylist[end]
while mylist[start]<=key and start<end:
start +=1
mylist[end] = mylist[start]
mylist[start] = key
quickSort1(mylist,low,start-1)
quickSort1(mylist,start+1,high)

 


lList = [2,5,1,6,87,9,3,2,5,89,9,21,5]
lList1 = quickSort(lList)
print(lList)
print(lList1)
quickSort1(lList,0,len(lList)-1)
print(lList)

 

python_快速排序

原文:https://www.cnblogs.com/dabaicai0703/p/11222557.html

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