Pascal - Sortieren nach Zusammenführen - Rekursion

Hier ist eine rekursive Prozedur, die ein Array von n ganzen Zahlen mit der Methode der Zusammenführungssortierung sortieren kann

 Prozedur Sort_Merge (Var t: TAB; g, d: Ganzzahl);

Var

m, i, j, k: ganze Zahl;

s: TAB;

Start

Wenn d> g Dann

Start

m: = (g + d) Div 2;

Sort_Merge (t, g, m);

Sort_Merge (t, m + 1, d);

Für i: = m DownTo g Do

s [i]: = t [i];

Für j: = m + 1 To d Do

s [d + m + 1 - j]: = t [j];

i: = g; j: = d;

Für k: = g To d Do

Start

Wenn s [i] <s [j] Dann

Start

t [k]: = s [i];

i: = i + 1;

Ende

Sonst

Start

t [k]: = s [j];

j: = j - 1;

Ende;

Ende;

Ende;

Ende;

Vielen Dank an Zouari Lazhar für diesen Tipp.

Vorherige Artikel Nächster Artikel

Top-Tipps