関数 SortUnit(配列、低値、高値)
ローカル変数 = 配列[低]
低 < 高の場合
while array[high] >= var および high > low do
高 = 高 - 1
終わり
配列[低] = 配列[高]
while array[low] <= var および high > low do
低 = 低 + 1
終わり
配列[高] = 配列[低]
終わり
配列[低] = var
低く戻る
終わり
関数 QuickSort2(配列、低値、高値)
低 >= 高の場合は終了を返します
ローカルインデックス = SortUnit(配列、低値、高値)
QuickSort2(配列、低位、インデックス - 1)
QuickSort2(配列、インデックス + 1、高)
終わり
関数クイックソート(配列)
QuickSort2(配列, 1, #配列)
終わり
ローカル t = {32,54,16,18,40,2,4,6,90,34,56,85}
クイックソート(t)