Implementation (Part 1)
الدرس 5 من 9 في دورة Quick Sort - سلسلة DSA على Coddy.
سنقوم ببناء Quick Sort من عمليتها الأساسية فصاعداً.
التحدي
سهلجوهر خوارزمية 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;
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Quick Sort - سلسلة DSA
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)