Implementation (Part 2)
الدرس 6 من 9 في دورة Merge Sort - سلسلة DSA على Coddy.
الآن نقوم بجمع عمليتي التقسيم والدمج في الخوارزمية الكاملة.
التحدي
سهلالآن ضع كل شيء معاً في الخوارزمية الكاملة.
اكتب دالة باسم mergeSort تأخذ مصفوفة من الأعداد الصحيحة وتعيدها مرتبة ترتيباً تصاعدياً.
قم بتقسيم المصفوفة إلى نصفين، ورتب كل نصف عن طريق استدعاء mergeSort عليه (العودية - recursion)، ثم ادمج النصفين المرتبين معاً مرة أخرى. المصفوفة التي تحتوي على 0 أو 1 من العناصر تعتبر مرتبة بالفعل، لذا أعدها كما هي.
يمكنك إعادة استخدام منطق الدمج (merge) من الدرس السابق.
جرّب بنفسك
#include <stdlib.h>
int* mergeSort(int* arr, int arr_size, int* returnSize) {
// اكتب الكود هنا
*returnSize = arr_size;
return arr;
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Merge Sort - سلسلة DSA
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)