خوارزميات C ، كما يوحي الاسم ، مجموعة من هياكل البيانات الشائعة والخوارزميات التي تم تنفيذها في C99.
بين الحين والآخر أجد نفسي أستعد للمقابلات الفنية التي تتطلب في كثير من الأحيان على الأقل بعض الفهم الأساسي لهياكل البيانات الشائعة والخوارزميات. من المفترض أن تقوم هذه الأسئلة بتقييم الخلفية الفنية للمرشحين وقدرة على التفكير في قدميها. ومع ذلك ، في الحياة الحقيقية ، يجب عليك بالتأكيد تجنب إعادة اختراع العجلة واستخدام المكتبات الراسخة التي تمت مراجعتها من قبل الأقران ، مثل Boost for C ++.
تم تنفيذ الإصدار الأول من المكتبة كرأس فقط.
هناك مفاضلات بين شحن المكتبة بتنسيق رأس فقط واستخدام ملفات منفصلة لواجهة برمجة التطبيقات والتنفيذ. إن نهج الرأس فقط ، وإن لم يكن فعالًا للغاية عند بناء مشاريع كبيرة ، له ميزة واحدة كبيرة ؛ لا تحتاج المكتبة إلى تجميعها بشكل منفصل وعليك فقط أن #include ملف الرأس ذي الصلة في رمز المصدر الخاص بك.
ومع ذلك ، استقرت في النهاية لاستخدام ملفات .H و .c منفصلة لواجهة برمجة التطبيقات والتنفيذ لأنها تعتقد أنها أكثر سهولة من حيث بنية الكود.
لقد استخدمت إطار Googletest (GTEST). وقد أدى ذلك إلى زيادة عدد المستودعات وقد يكون مبالغة في هذا المشروع الصغير ، لكنني أردت أن أجربه مع ذلك. من أجل إجراء الاختبارات ، قم ببساطة بتنفيذ make test
هذا هو جزء تعليمي وتجريبي من الكود. وغني عن القول ، لا تستخدم أبدًا تطبيق خوارزمية لعبة عشوائية مثل هذا في أي إعداد إنتاج.
lekkas