Pascal - Lajittele yhdistämällä - rekursio
Tässä on rekursiivinen menettely, joka voi lajitella n kokonaislukujen joukon yhdistämismenetelmän avulla
Menettely Sort_Merge (Var t: TAB; g, d: kokonaisluku);var
m, i, j, k: kokonaisluku;
s: TAB;
Alkaa
Jos d> g
Alkaa
m: = (g + d) Div 2;
Sort_Merge (t, g, m);
Sort_Merge (t, m + 1, d);
I: = m DownTo g Tee
s [i]: = t [i];
J: = m + 1 To d
s [d + m + 1 - j]: = t [j];
i: = g; j: = d;
K: = g To d
Alkaa
Jos s [i] <s [j]
Alkaa
t [k]: = s [i];
i: = i + 1;
pää
muu
Alkaa
t [k]: = s [j];
j: = j - 1;
end;
end;
end;
end;
Kiitos Zouari Lazharille tästä vinkistä.