パスカル - マージ再帰によるソート
これはMerge sortの方法を使ってn個の整数の配列をソートできる再帰的手続きです
プロシージャSort_Merge(変数t:TAB; g、d:整数);Var
m、i、j、k:整数。
s:TAB;
ベギン
d> gなら
ベギン
m:=(g + d)Div 2。
Sort_Merge(t、g、m);
Sort_Merge(t、m + 1、d);
iの場合:= m DownTo g Do
s [i]:= t [i];
jの場合:= m + 1からdへ
s [d + m + 1 - j]:= t [j];
i:= g。 j:= d;
kに対して:= g dに対して
ベギン
s [i] <s [j]の場合
ベギン
t [k]:= s [i];
i:= i + 1。
終わり
そうでなければ
ベギン
t [k]:= s [j];
j:= j − 1。
終わり;
終わり;
終わり;
終わり;
このヒントを提供してくれたZouari Lazharに感謝します。