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