اكتب دالة باسم mergeSort تُطبق خوارزمية Merge Sort لترتيب قائمة من الأرقام.

المطلوب:

  • الدالة تأخذ معامل واحد: arr (قائمة من الأرقام)
  • الدالة تُرجع قائمة مرتبة تصاعديًا
  • يجب استخدام خوارزمية Merge Sort (Divide and Conquer)
  • التعقيد الزمني يجب أن يكون O(n log n)

مثال:

mergeSort([38, 27, 43, 3, 9, 82, 10])
# [3, 9, 10, 27, 38, 43, 82]

mergeSort([5, 2, 8, 1, 9])
# [1, 2, 5, 8, 9]

ملاحظات:

  • قسّم القائمة إلى نصفين
  • رتب كل نصف بشكل منفصل (recursion)
  • ادمج النصفين المرتبين في قائمة واحدة مرتبة

الناتج (Console)

سيظهر ناتج تنفيذ الكود هنا.