Pascal - Sortera efter sammanslagning - rekursion
Här är ett rekursivt förfarande som kan sortera en grupp av n heltal med hjälp av metoden för sammanslagning
Förfarande Sort_Merge (Var t: TAB; g, d: heltal);var
m, jag, j, k: heltal;
s: TAB;
Börja
Om d> g Då
Börja
m: = (g + d) Div 2;
Sort_Merge (t, g, m);
Sort_Merge (t, m + 1, d);
För jag: = m DownTo g Do
s [i]: = t [i];
För j: = m + 1 Till d Gör
s [d + m + 1 - j]: = t [j];
i: = g; j: = d;
För k: = g Till d Gör
Börja
Om s [i] <s [j] Då
Börja
t [k]: = s [i];
i: = i + 1;
Slutet
Annan
Börja
t [k]: = s [j];
j: = j - 1;
Slutet;
Slutet;
Slutet;
Slutet;
Tack till Zouari Lazhar för detta tips.