av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:python快速排序的運作過程

運作過程

成都創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元南木林做網(wǎng)站,已為上家服務(wù),為南木林各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

1、從數(shù)列中挑出一個元素,稱為基準(zhǔn),重新排序數(shù)列,所有元素比基準(zhǔn)值小的擺放在基準(zhǔn)前面。

所有元素比基準(zhǔn)值大的擺在基準(zhǔn)的后面(相同的數(shù)可以到任一邊)。在這個分區(qū)結(jié)束之后,該基準(zhǔn)就處于數(shù)列的中間位置。這個稱為分區(qū)操作。

2、小于基準(zhǔn)值元素的子數(shù)列和大于基準(zhǔn)值元素的子數(shù)列排序。

3、遞歸的最底部情形,是數(shù)列的大小是零或一。

也就是永遠都已經(jīng)被排序好了。雖然一直遞歸下去,但是這個算法總會結(jié)束,因為在每次的迭代中,它至少會把一個元素擺到它最后的位置去。

實例

# 快速排序-遞歸
def quick_sort(alist, begin, end):
    # 遞歸的終止條件是begin >= last,即數(shù)組大小為1或0
    # 遞歸終止時,數(shù)組已經(jīng)排好序了
    if begin >= end:
        return
 
    else:
        # 以開頭的值作為基準(zhǔn)值,然后以基準(zhǔn)值為界將數(shù)組分區(qū),將分區(qū)后的左右兩部分繼續(xù)調(diào)用快速排序函數(shù)
        mid_value = alist[begin]
        low = begin
        high = end
        # 分別從右往左尋找小于基準(zhǔn)值的值,從左往右尋找大于基準(zhǔn)值的值
        while low < high:
            # 從右往左尋找小于基準(zhǔn)值的值
            while low < high and alist[high] >= mid_value:
                high -= 1
            alist[low] = alist[high]
 
            # 從左往右尋找大于基準(zhǔn)值的值
            while low < high and alist[low] < mid_value:
                low += 1
            alist[high] = alist[low]
 
        # 循環(huán)結(jié)束時,low == high,這個位置正是基準(zhǔn)點的位置
        alist[low] = mid_value
        # 對low左邊的元素執(zhí)行快速排序
        quick_sort(alist, begin, low - 1)
        quick_sort(alist, low + 1, end)
 
 
if __name__ == '__main__':
    alist = [54, 26, 93, 17, 77, 31, 44, 55, 20]
    print(alist)
    quick_sort(alist, 0, len(alist) - 1)
    print(alist)

以上就是python快速排序的運作過程,希望對大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


當(dāng)前題目:創(chuàng)新互聯(lián)Python教程:python快速排序的運作過程
分享地址:http://uogjgqi.cn/article/cossccc.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流