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

Implementation (Part 1)

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

سنقوم ببناء Quick Sort من عمليتها الأساسية فصاعداً.

challenge icon

التحدي

سهل

جوهر خوارزمية Quick Sort هو خطوة الـ partition (التقسيم). لنقم ببناء ذلك أولاً.

اكتب دالة باسم partition تستخدم العنصر الأخير من arr كعنصر ارتكاز (pivot) وتُرجع مصفوفة جديدة تحتوي على:

  • جميع العناصر الأصغر من عنصر الارتكاز (بترتيبها الأصلي)،
  • ثم عنصر الارتكاز،
  • ثم جميع العناصر المتبقية، وهي العناصر الأكبر من أو تساوي عنصر الارتكاز (بترتيبها الأصلي).

على سبيل المثال، [3, 7, 1, 8, 5] تصبح [3, 1, 5, 7, 8] (عنصر الارتكاز هو 5).

جرّب بنفسك

#include <stdlib.h>

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

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

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