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

C++ स्टैंडर्ड टेम्पलेट लाइब्रेरी (STL)

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

कंटेनर्स (Containers)

STL में सीक्वेंस कंटेनर्स और एसोसिएटिव कंटेनर्स होते हैं। कंटेनर्स ऑब्जेक्ट्स हैं जो डेटा स्टोर करते हैं। स्टैंडर्ड सीक्वेंस कंटेनर्स में vector, deque, और list शामिल हैं। स्टैंडर्ड एसोसिएटिव कंटेनर्स हैं set, multiset, map, multimap, hash_set, hash_map, hash_multiset, और hash_multimap। कंटेनर एडेप्टर्स queue, priority_queue, और stack भी हैं, जो विशिष्ट इंटरफेस वाले कंटेनर्स हैं, जो कार्यान्वयन के रूप में अन्य कंटेनर्स का उपयोग करते हैं।

इटरेटर्स (Iterators)

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

एल्गोरिदम (Algorithms)

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

  1. C++ में भूलभुलैया समस्या का समाधान C++ में भूलभुलैया समस्या का समाधान

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

  1. C++ STL में स्टैक (3.5) C++ STL में स्टैक (3.5)

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

  1. C++ STL में प्राथमिकता कतार (Priority Queue) C++ STL में प्राथमिकता कतार (Priority Queue)

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