def QuickSort(myList,start,end):
if start < end:
i,j = start, end
base = myList[i]
while i < j:
while (i
= base):
j = j -1
myList[i] = myList[j]
while (i
<= base):
i = i + 1
myList[j] = myList[i]
myList[i] = base
#遞歸前后半?yún)^(qū)
QuickSort(myList,start, i-1)
QuickSort(myList,j+1,end)
return myList
myList = [1,9,3,8,6,12,28,37,86,99,100,29,38]
print("Qucik Sort:")
QuickSort(myList,0,len(myList)-1)
print(myList)
注:上述代碼的最終排序結(jié)果是在原列表上執(zhí)行,思想是:將基線樣本pivot sample 保存在變量base中。然后右邊比base小的樣本值傳入base原來的位置。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
