本文實例講述了Python快速查找算法的應用,分享給大家供大家參考。
具體實現方法如下:
import random
def partition(list_object,start,end):
random_choice = start
#random.choice(range(start,end+1))
#把這里的start改成random()效率會更高些
x = list_object[random_choice]
i = start
j = end
while True:
while list_object[i] < x and i < end:
i += 1
while list_object[j] > x:
j -= 1
if i >= j:
break
list_object[i],list_object[j] = list_object[j],list_object[i]
print list_object
#list_object[random_choice] = list_object[j]
#list_object[j] = random_choice
return j
def quick_sort(list_object,start,end):
if start < end:
temp = partition(list_object,start,end)
quick_sort(list_object,start,temp-1)
quick_sort(list_object,temp + 1 ,end)
a_list = [69,65,90,37,92,6,28,54]
quick_sort(a_list,0,7)
print a_list
程序測試環境為Python2.7.6
輸出結果如下:
[54, 65, 28, 37, 6, 69, 92, 90]
[6, 37, 28, 54, 65, 69, 92, 90]
[6, 37, 28, 54, 65, 69, 92, 90]
[6, 28, 37, 54, 65, 69, 92, 90]
[6, 28, 37, 54, 65, 69, 90, 92]
[6, 28, 37, 54, 65, 69, 90, 92]
希望本文所述對大家的Python程序設計有所幫助。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

