باسكال - فرز حسب دمج العودية

فيما يلي إجراء متكرر يمكنه فرز مجموعة من الأعداد الصحيحة 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 ؛

النهاية؛

النهاية؛

النهاية؛

النهاية؛

شكراً لزواري لزهر على هذه النصيحة.

المقال السابق المقالة القادمة

نصائح الأعلى