الطبقة الحاوية / مكتبة C [مغلقة]
-
08-07-2019 - |
سؤال
لا أحد يعرف من أي ج حاوية المكتبات ؟ أنا أبحث عن شيء مما يعطي معيار تطبيقات القوائم المرتبطة ، المصفوفات ، تجزئة الجداول وغيرها الكثير في بنفس الطريقة كما في C++ الخاصة بلبنان.الشواغل الرئيسية هي:
- رمز العميل يجب أن تكون قادرة على خلق حاويات متعددة لأنواع مختلفة من البيانات دون تعديل المكتبة.
- واجهة إنشاء واستخدام الحاويات يجب أن تكون بديهية.
المحلول
لقد عدت للتو عبر SGLIB حين تبحث عن C تنفيذ خريطة/قاموس الحاوية.للأسف لا خريطة ولكن يبدو أن تتضمن حاويات الذي سألت عنه.ليس لدي أي فكرة كيف جيدة هو عليه.
نصائح أخرى
تشاك فالكونر وقد لائق تجزئة مكتبة كتب في ج يتضمن C++ واجهة, انقر على hashlib.zip على صفحة ويب لتحميل.
بن فاف لديها لطيفة جدا و للغاية موثقة الثنائية ومتوازنة شجرة المكتبة ، غنو libavl, أن تنفذ أهم شجرة الهياكل بما في ذلك أشجار البحث الثنائية ، AVL الأشجار, أحمر-أسود الأشجار و الخيوط الإصدارات من كل.
libavl تحت رخصة LGPL (اعتبارا من الإصدار 2.0.3), hashlib هو GPL.
لست متأكدا ما كنت أبحث عنه بقدر ما المصفوفات و القوائم المرتبطة تذهب السابق هو دعم مباشرة من خلال اللغة و هذا الأخير هو عموما تافهة يكفي أن تنفذ دون تستدعي مكتبة.
Sglib ممتازة عامة هياكل بيانات المكتبة.المكتبة توفر حاليا العامة للتنفيذ:
- فرز المصفوفات
- القوائم المتصلة
- فرز القوائم المرتبطة
- ضعف القوائم المرتبطة
- الأحمر-الأسود الأشجار
- تجزئته الحاويات
انها سريعة جدا.أسرع أن سطحي.انها مستوحاة من مكتبة قالب قياسي. تحميل هنا
حل آخر هو جذابة الفوضى sotware.ج الماكرو المكتبة:
kbtree.h:كفاءة B-شجرة مكتبة في C.
خاش.h:سريعة وخفيفة المرجحة جدول تجزئة مكتبة في C.
kvec.h:بسيطة ناقلات الحاويات في C.
Kulesh Shanmugasundaram يعرض عامة نواة لينكس قائمة مرتبطة و عامة جدول التجزئة ومقرها في نواة لينكس قائمة مرتبطة.
Sglib وجذابة الفوضى sotware و نواة لينكس قائمة مرتبطة هي ج الماكرو المكتبات.باستخدام void*
لتنفيذ عامة الحاويات في ج قد تكون غير فعالة.ج وحدات الماكرو تحاكي C++ قوالب فعالة مثل C++ قالب.
ماذا عن ccl?هذا هو وعاء مكتبة C.ربما هو الأنسب بالنسبة لك.يمكنك أن ترى https://code.google.com/p/ccl/.الاستمتاع بها.
لقد تم استخدام مكتبة لقد تم المتزايد من هانسون "ج واجهة تطبيقات" الكتاب.المصدر هو للتحميل في
كل شيء هو نوع البيانات مجردة.هناك قائمة مجموعة جدول (الخريطة).
#include "queue.h"
للوصول إلى تطبيقات منفردة ربط قوائم منفردة مرتبطة ذيل قوائم الانتظار ، قوائم ذيل قوائم الانتظار.
وجدت عامة ذاكرة التخزين المؤقت لتخزين التعسفي الكائنات في الذاكرة بواسطة D.ج.بيرنشتاين (http://cr.yp.to/djbdns.html) أن تكون نظيفة وبسيطة بسرعة فائقة.ابحث ذاكرة التخزين المؤقت.ح و ذاكرة التخزين المؤقت.ج في djdns كتل القطران.
بعض من تلك التي كنت قد سمعت من (ولكنها لم تستخدم) هي
- سطحي
- iMatix القياسية وظيفة المكتبة
- العناصر المتباينة من نواة لينكس رؤوس (مثلا ، قائمة)
ويبدو أن تغطي معظم الحاويات وبعض الخوارزميات.كما لا يوجد ترخيص جميع رؤوس تحتوي على - مدونة يمكن استخدامها دون قيود.' http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=13867&lngWId=3