1. アルゴリズムの説明:
1.まず、シーケンスから基数として数値を取得します。
2.分割プロセス中、この数値より大きいすべての数値が右側に配置され、この数値以下のすべての数値が左側に配置されます。
3.各間隔に数値が 1 つだけになるまで、左右の間隔に対して 2 番目のステップを繰り返します。
2. Python クイックソートコード
def sub_sort(array,low,high):
key = array[low]
while low < high:
while low
high -= 1
while low
array[low] = array[high]
low += 1
array[high] = array[low]
array[low] = key
return low
def Quick_sort(array,low,high):
if low < high:
key_index = sub_sort(array,low,high)
Quick_sort(array,low,key_index)
クイックソート(配列,キーインデックス+1,高)
if __name__ == '__main__':
配列 = [8,10,9,6,4,16,5,13,26,18,2,45,34,23,1, 7,3]
配列を印刷
Quick_sort(array,0,len(array)-1)
配列を印刷
結果:
[8, 10, 9, 6, 4, 16, 5, 13, 26, 18, 2, 45, 34, 23, 1, 7, 3]
[1, 2 、3、4、5、6、7、8、9、10、13、16、18、23、26、34、45]