Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Pseudo Code

الدرس 4 من 9 في دورة Merge Sort - سلسلة DSA على Coddy.

mergeSort(array):
   if length(array) <= 1:
      return array
   mid = length(array) / 2
   left = mergeSort(array[0..mid])
   right = mergeSort(array[mid..end])
   return merge(left, right)

merge(left, right):
   result = []
   while left and right both still have elements:
      if left[0] <= right[0]:
         move the front of left into result
      else:
         move the front of right into result
   append whatever remains of left
   append whatever remains of right
   return result

تعمل دالتان معاً:

  • تستمر mergeSort في تقسيم المصفوفة حتى تصبح الأجزاء مرتبة بشكل بديهي، ثم تعتمد على merge لدمجها.
  • تمر merge عبر قائمتين مرتبتين في آن واحد، وتأخذ دائماً العنصر الأصغر من المقدمة، بحيث تظل القائمة المدمجة مرتبة.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Merge Sort - سلسلة DSA