Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ मानक टेम्पलेट लाइब्रेरी (एसटीएल)


मानक टेम्पलेट लाइब्रेरी C++ प्रोग्रामिंग भाषा के लिए एक सॉफ्टवेयर लाइब्रेरी है जिसने C++ मानक लाइब्रेरी के कई हिस्सों को प्रभावित किया है। यह एल्गोरिदम, कंटेनर, फ़ंक्शन और इटरेटर नामक चार घटक प्रदान करता है। ध्यान दें कि "STL" या "स्टैंडर्ड टेम्प्लेट लाइब्रेरी" शब्द ISO 14882 C++ मानक में कहीं भी दिखाई नहीं देता है। इसलिए C++ मानक पुस्तकालय को STL के रूप में संदर्भित करना गलत है, अर्थात, STL और C++ मानक पुस्तकालय 2 अलग-अलग चीजें हैं, जिनमें से पहला बाद वाले का सबसेट है।

STL में −

. होते हैं

कंटेनर

STL में अनुक्रम कंटेनर और सहयोगी कंटेनर होते हैं। कंटेनर ऐसी वस्तुएं हैं जो डेटा स्टोर करती हैं। मानक अनुक्रम कंटेनरों में वेक्टर, डेक और सूची शामिल हैं। मानक सहयोगी कंटेनर सेट, मल्टीसेट, मैप, मल्टीमैप, हैश_सेट, हैश_मैप, हैश_मल्टीसेट और हैश_मल्टीमैप हैं। कंटेनर एडेप्टर कतार, प्राथमिकता_क्यू और स्टैक भी हैं, जो विशिष्ट इंटरफ़ेस वाले कंटेनर हैं, कार्यान्वयन के रूप में अन्य कंटेनरों का उपयोग करते हैं।

पुनरावर्तक

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

एल्गोरिदम

STL में एल्गोरिदम विशेष रूप से तत्वों की श्रेणियों पर उपयोग करने के लिए डिज़ाइन किए गए कार्यों का एक संग्रह है। एक श्रेणी वस्तुओं का कोई भी क्रम है जिसे इटरेटर या पॉइंटर्स के माध्यम से एक्सेस किया जा सकता है, जैसे कि एक सरणी या कुछ एसटीएल कंटेनरों का एक उदाहरण। एसटीएल में एल्गोरिदम के उदाहरण:सॉर्ट (श्रेणी में तत्वों को क्रमबद्ध करें), बाइनरी_सर्च (यदि कोई मान क्रमबद्ध अनुक्रम में मौजूद है तो परीक्षण करें), min_element (श्रेणी में सबसे छोटा तत्व लौटाएं), आदि। ध्यान दें कि इन सभी एल्गोरिदम को स्वीकार किए गए किसी भी डेटा प्रकार पर लागू किया जा सकता है एक टेम्पलेट के रूप में।


  1. सी ++ में भूलभुलैया

    मान लीजिए कि एक भूलभुलैया में खाली जगह और दीवारों के साथ एक गेंद है। अब गेंद ऊपर, नीचे, बाएँ या दाएँ किसी भी दिशा में लुढ़क कर खाली रास्तों से जा सकती है, लेकिन दीवार से टकराने तक यह लुढ़कना बंद नहीं करेगी। जब गेंद रुकती है, तो वह अगली दिशा चुन सकती है। हमें गेंद की स्थिति, गंतव्य और भूलभुलैया शुरू

  1. सी ++ एसटीएल में ढेर (3.5)

    C++ STL में, स्टैक का उपयोग कंटेनर के रूप में किया जाता है जिसे LIFO संरचना के रूप में कार्यान्वित किया जाता है। LIFO का मतलब लास्ट इन फर्स्ट आउट। स्टैक पुस्तकों के ढेर के रूप में देख सकता है जिसमें पुस्तकों को एक के ऊपर एक व्यवस्थित किया जाता है और अंतिम डाली गई पुस्तक सबसे पहले हटाई जाएगी, इसलिए इ

  1. सी ++ मानक टेम्पलेट लाइब्रेरी (एसटीएल) में प्राथमिकता कतार

    प्राथमिकता कतार प्राथमिकता वाले तत्वों के संग्रह को संग्रहीत करने के लिए एक सार डेटा प्रकार है जो किसी तत्व को उनकी प्राथमिकताओं के आधार पर सम्मिलित करने और हटाने का समर्थन करता है, अर्थात, पहली प्राथमिकता वाले तत्व को किसी भी समय हटाया जा सकता है। प्राथमिकता कतार तत्वों को उनके स्थान जैसे स्टैक, कत