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

Implementation (Part 2)

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

الآن نقوم بدمج المحور (pivot)، والتقسيم (partition)، والعودية (recursion) في الخوارزمية الكاملة.

challenge icon

التحدي

سهل

الآن قم بتجميع كل شيء في الخوارزمية الكاملة.

اكتب دالة باسم quickSort تأخذ مصفوفة من الأعداد الصحيحة وتعيدها مرتبة ترتيباً تصاعدياً.

استخدم العنصر الأخير كعنصر محور (pivot)، وقم بتقسيم البقية إلى مجموعة أصغر ومجموعة أكبر، ثم استدعِ quickSort بشكل متكرر (recursively) لكل مجموعة، وقم بدمجهم كـ sorted-smaller + pivot + sorted-larger. المصفوفة التي تحتوي على 0 أو 1 من العناصر تعتبر مرتبة بالفعل، لذا قم بإعادتها كما هي.

يمكنك إعادة استخدام فكرة التقسيم (partition) من الدرس السابق.

جرّب بنفسك

#include <stdlib.h>

int* quickSort(int* arr, int arr_size, int* returnSize) {
    // اكتب الكود هنا
    *returnSize = arr_size;
    return arr;
}
quiz iconاختبر نفسك

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

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