腳踏實地,好好學算法
# 快速排序法 # 數據源 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]