這篇文章主要講解了“python中快速排序算法的實(shí)例用法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“python中快速排序算法的實(shí)例用法”吧!
成都創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè)、網(wǎng)站制作,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)布平臺(tái)等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
1、選擇列表中最后一個(gè)元素最基準(zhǔn)數(shù)N,小于N的放前,大于等于N的放后。
2、將前面的最后一個(gè)數(shù)字作為基準(zhǔn),同上放置。
3、直到每個(gè)部分的標(biāo)記相等,即完成快速排序。
實(shí)例
def move_num(my_list, low, high): N = my_list[high] # 確定基數(shù)N move = low - 1 # 從左邊減1開始 for i in range(low, high): if my_list[i] <= N: move += 1 # 記錄最近一個(gè)交換值的下標(biāo) my_list[move], my_list[i] = my_list[i], my_list[move] # 大的放后面,小的放move處 my_list[move + 1], my_list[high] = my_list[high], my_list[move + 1] # 最后一次,把N值放到move+1處 return move + 1 def quick_sort(my_list, low, high): n = len(my_list) if n == 1: return my_list if low < high: # low==high停止排序 N = move_num(my_list, low, high) # 一次比較排序 quick_sort(my_list, low, N - 1) # 遞歸前一部分排序 quick_sort(my_list, N + 1, high) # 遞歸后一部分排序 return my_list if __name__ == "__main__": my_list = [8, 0, 4, 3, 2, 1] print("排序前的數(shù)組:", my_list) print("排序后的數(shù)組:", quick_sort(my_list, 0, len(my_list) - 1))
感謝各位的閱讀,以上就是“python中快速排序算法的實(shí)例用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)python中快速排序算法的實(shí)例用法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!