Pascal - сортиране чрез сливане-рекурсия

Тук е рекурсивна процедура, която може да сортира масив от n цели числа, използвайки метода на сортиране на сливане

 Процедура Sort_Merge (Var t: TAB; g, d: integer);

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 надолу към Do

s [i]: = t [i];

За j: = m + 1 To d Do

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

i: = g; j: = d;

За k: = g To d Do

започвам

Ако s [i] <s [j] След това

започвам

t [k]: = s [i];

i: = i + 1;

Край

още

започвам

t [k]: = s [j];

j: = j - 1;

Край;

Край;

Край;

Край;

Благодарение на Zouari Lazhar за този съвет.

Предишна Статия Следваща Статия

Топ Съвети