python3 快速排序

腳踏實地,好好學算法

# 快速排序法

#  數據源
source = [12, 4, 67, 2, 34, 11, 89, 45, 76, 29]
num = len(source)
left_handler = 0
right_handler = num-1


while 1:
    if source[left_handler] > source[right_handler]:   # 前者比較大 交換結內容
        temp = source[left_handler]
        source[left_handler] = source[right_handler]
        source[right_handler] = temp

    right_handler -= 1
    if left_handler == right_handler:
        print(source)
        left_handler += 1
        right_handler = num-1
        if left_handler == num-1:
            break

print(source)
輸出結果

每一步的結果

[2, 4, 67, 11, 34, 12, 89, 45, 76, 29]
[2, 4, 67, 11, 34, 12, 89, 45, 76, 29]
[2, 4, 11, 12, 34, 29, 89, 45, 76, 67]
[2, 4, 11, 12, 34, 29, 89, 45, 76, 67]
[2, 4, 11, 12, 29, 34, 89, 45, 76, 67]
[2, 4, 11, 12, 29, 34, 89, 45, 76, 67]
[2, 4, 11, 12, 29, 34, 45, 67, 76, 89]
[2, 4, 11, 12, 29, 34, 45, 67, 76, 89]
[2, 4, 11, 12, 29, 34, 45, 67, 76, 89]

結果
[2, 4, 11, 12, 29, 34, 45, 67, 76, 89]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章