باسكال - فرز حسب دمج العودية
فيما يلي إجراء متكرر يمكنه فرز مجموعة من الأعداد الصحيحة n باستخدام طريقة دمج الفرز
الإجراء Sort_Merge (Var t: TAB؛ g، d: integer)؛فار
m، i، j، k: integer؛
s: TAB ؛
ابدأ
إذا د> ز ثم
ابدأ
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 To d Do
s [d + m + 1 - j]: = t [j] ؛
i: = g ؛ j: = d ؛
ل k: = g إلى d Do
ابدأ
إذا كان [i] <s [j] بعد ذلك
ابدأ
t [k]: = s [i]؛
i: = i + 1؛
النهاية
آخر
ابدأ
t [k]: = s [j]؛
j: = j - 1 ؛
النهاية؛
النهاية؛
النهاية؛
النهاية؛
شكراً لزواري لزهر على هذه النصيحة.