क्या सामान्य डेटा संरचनाओं के साथ कोई खुला स्रोत सी लाइब्रेरी हैं? [बन्द है]


111

मैं सी लाइसेस के साथ सामान्य पुन: प्रयोज्य डेटा संरचनाओं के साथ एक सी लाइब्रेरी की तलाश कर रहा हूं जैसे कि लिंक लिस्ट, हैश टेबल आदि । काइल लाउडन द्वारा सी (पेपरबैक) के साथ मास्टेरिंग एल्गोरिदम के साथ वितरित स्रोत जैसा कुछ ।


अन्य साइटें इस प्रकार के प्रश्नों के लिए बेहतर हैं। slant.co/improve/topics/19233
ideasman42

जवाबों:


57

बीएसडी queue.h है:

  • SLIST = अकेले जुड़ी हुई सूची
  • सूची = दोगुनी लिंक की गई सूची
  • SIMPLEQ = एकल रूप से जुड़ी हुई कतार
  • TAILQ = दोगुनी लिंक वाली कतार

BSD ट्री.ह है:

  • आरबी - लाल-काला पेड़
  • SPLAY - स्प्ले ट्री

विवरण के लिए कतार (3) और पेड़ (3) मैन पेज देखें। मैं वास्तव में उन्हें पसंद करता हूं क्योंकि वे शुद्ध सी मैक्रोज़ हैं जो निर्भरता के बिना (एफबीआईसी भी नहीं)। इसके अलावा बीएसडी लाइसेंस के साथ आपको किसी भी कंपनी के प्रतिबंधों की चिंता नहीं करनी चाहिए w / GPL।


36

ग्नोम इसके लिए एक उत्कृष्ट पुस्तकालय प्रदान करता है, जिसे कहा जाता है ग्लिब , जिसमें कई उपयोगी डेटा संरचनाएं और अन्य सुविधाएं भी हैं।


30

gnulib , gnu portability पुस्तकालय।

इसे सोर्स कोड के रूप में वितरित किया जाता है। यह सूची इसकी मॉड्यूल सूची से है , जिसमें अन्य चीजों का एक टन शामिल है। एक दिलचस्प एक है "सी-स्टैक: स्टैक ओवरफ्लो हैंडलिंग, जिससे प्रोग्राम से बाहर निकलता है।"

  • सूची
  • सारणी सूची
  • carray-सूची
  • लिंक्ड सूची
  • avltree-सूची
  • rbtree-सूची
  • linkedhash-सूची
  • avltreehash-सूची
  • rbtreehash-सूची
  • सबलिस्ट (अनुक्रमिक सूची डेटा दूसरी सूची द्वारा समर्थित)।
  • ओसेट (सार सेट का आदेश दिया गया)
  • सरणी-oset
  • avltree-oset
  • rbtree-oset

ध्यान रखें कि यह विकल्प जीपीएल-लाइसेंस प्राप्त है, और इसलिए इसे केवल जीपीएल-लाइसेंस प्राप्त सॉफ़्टवेयर में कानूनी रूप से उपयोग किया जा सकता है।
नूह एंड्रयूज 20

19

SGLIB एक उत्कृष्ट सामान्य डेटा-संरचना पुस्तकालय है। पुस्तकालय वर्तमान में इसके लिए सामान्य कार्यान्वयन प्रदान करता है:
सरणियों को क्रमबद्ध करना,
सूचीबद्ध सूचियों को
क्रमबद्ध लिंक्ड सूची,
डबल लिंक की गई सूचियाँ,
लाल-काले पेड़,
हैड कंटेनर

यह बहुत तेज़ है, ग्लिब से तेज़ है। यह मानक टेम्पलेट लाइब्रेरी से प्रेरित है। यहाँ डाउनलोड करें

एक अन्य समाधान आकर्षक कैओस सॉफ्टवेयर है । सी मैक्रो लाइब्रेरी:
kbtree.h: सी। में कुशल बी-ट्री लाइब्रेरी।
khash.h: सी। Kvec.h में फास्ट और लाइट-वेटेड हैश टेबल लाइब्रेरी
: सी में सरल वेक्टर कंटेनर।

Sglib और Attractive Chaos सॉफ्टवेयर C मैक्रोज़ लाइब्रेरी हैं। C में जेनेरिक कंटेनर को लागू करने के लिए शून्य का उपयोग करना अक्षम हो सकता है। C मैक्रोज़ C ++ टेम्पलेट की नकल करता है और C ++ टेम्पलेट की तरह ही कुशल होता है


अच्छा संकेत - मैंने एसजीएलआईबी के बारे में पहले कभी नहीं सुना।
माइकल बूर

SGLIB प्रोजेक्ट के लिए "डाउनलोड" लिंक टूट गया है।
विचलित

@ luis.espinal इसे अभी भी freeflow.com/projects/sglib
Rob

लगता है कि ये दोनों ही कार्य AWOL हो गए हैं।
माइकल फोकरिसिस




हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.