standard template library
मानक टेम्पलेट लाइब्रेरी (एसटीएल) का पूरा अवलोकन:
C ++ की Standard Template Library (STL) टेम्प्लेट कक्षाओं का एक संग्रह है जो डेटा संरचनाएं जैसे सरणियाँ, वैक्टर, कतार इत्यादि प्रदान करती हैं। STL कंटेनर, एल्गोरिदम और पुनरावृत्तियों से युक्त एक पुस्तकालय है।
चूंकि एसटीएल में टेम्प्लेट कक्षाओं का एक संग्रह है, यह एक सामान्यीकृत पुस्तकालय है जो डेटा प्रकारों से स्वतंत्र है।
=> यहाँ विस्तृत C ++ प्रशिक्षण ट्यूटोरियल श्रृंखला के माध्यम से पढ़ें।
आप क्या सीखेंगे:
अक्सर पूछे जाने वाले सूचनात्मक साक्षात्कार प्रश्न और उत्तर
एसटीएल के घटक
एसटीएल में मुख्य रूप से निम्नलिखित घटक शामिल हैं जो नीचे उल्लिखित हैं:
(1) कंटेनर
एक कंटेनर एक विशेष प्रकार की डेटा संरचना की वस्तुओं का एक संग्रह है। एसटीएल में, हमारे पास विभिन्न प्रकार के कंटेनर वर्ग हैं जैसे कि ऐरे, वेक्टर, कतार, डीके, सूची, मानचित्र, सेट, आदि। ये कंटेनर प्रकृति में सामान्य हैं और वर्ग टेम्पलेट के रूप में कार्यान्वित किए जाते हैं।
कंटेनर प्रकृति में गतिशील हैं और इसका उपयोग विभिन्न प्रकार की वस्तुओं को रखने के लिए किया जा सकता है।
# 2) एल्गोरिदम
एल्गोरिदम वे तरीके या कार्य हैं जो कंटेनरों पर कार्य करते हैं। एसटीएल द्वारा प्रदान किए गए एल्गोरिदम का उपयोग करके, हमारे पास कंटेनर क्लास ऑब्जेक्ट की सामग्री को खोजने, सॉर्ट करने, संशोधित करने, बदलने या आरंभ करने के तरीके हो सकते हैं।
एसटीएल द्वारा प्रदान किए गए एल्गोरिदम में अंतर्निहित कार्य हैं जो स्वयं एल्गोरिदम लिखने के बजाय सीधे जटिल डेटा संरचना पर काम कर सकते हैं।
उदाहरण के लिए, एसटीएल में रिवर्स () फ़ंक्शन का उपयोग लिंक की गई सूची को उलटने के लिए किया जा सकता है।
# 3) Iterators
Iterators STL की बहुत महत्वपूर्ण और विशिष्ट विशेषता है। Iterators वे निर्माण होते हैं जिनका उपयोग कंटेनर ऑब्जेक्ट के माध्यम से पार करने के लिए किया जाता है। अनुक्रमणिकाओं के माध्यम से जिनका उपयोग हम सरणियों के माध्यम से करने के लिए करते हैं, Iterators कंटेनर क्लास ऑब्जेक्ट पर कार्य करते हैं और डेटा के माध्यम से चरण के लिए उपयोग किया जा सकता है।
कंटेनरों
कंटेनर वस्तुओं और डेटा को स्टोर करते हैं। वे मूल रूप से टेम्पलेट-आधारित सामान्य वर्ग हैं।
STL में कंटेनरों को निम्नलिखित प्रकारों में विभाजित किया गया है:
# 1) अनुक्रमिक कंटेनर
कंटेनरों को अनुक्रमिक या रैखिक तरीके से एक्सेस किया जा सकता है जिन्हें अनुक्रमिक कंटेनर कहा जाता है।
एरेस, वैक्टर, लिस्ट्स, डेक्स एसटीएल कंटेनर हैं जो डेटा को रैखिक रूप से संग्रहित करते हैं और क्रमबद्ध तरीके से एक्सेस किए जा सकते हैं।
# 2) सहयोगी कंटेनर
साहचर्य कंटेनर कंटेनर होते हैं जो क्रमबद्ध डेटा संरचनाओं को लागू करते हैं। ये कंटेनर तेजी से खोज करने के लिए हैं। कुछ के उदाहरण सहयोगी कंटेनरों के मानचित्र, सेट, मल्टीपोट, मल्टीसेट आदि हैं। ये कंटेनर आमतौर पर एक कुंजी / मूल्य जोड़ी फैशन में लागू किए जाते हैं।
# 3) कंटेनर एडॉप्टर
कंटेनर गोद लेने वाले अनुक्रमिक कंटेनर हैं, हालांकि, उन्हें एक अलग इंटरफ़ेस प्रदान करके कार्यान्वित किया जाता है। इस प्रकार एक कतार, डिक्की, स्टैक और प्राथमिकता-कतार जैसे कंटेनर को कंटेनर गोद लेने वाले के रूप में वर्गीकृत किया जाता है।
कैसे जावा में वस्तुओं की एक सरणी घोषित करने के लिए
Iterators
Iterators निर्माण होते हैं जिनका उपयोग हम STL में कंटेनरों के माध्यम से ट्रैवर्स या स्टेप करने के लिए करते हैं। एसटीएल में Iterators बहुत महत्वपूर्ण हैं क्योंकि वे एल्गोरिदम और कंटेनरों के बीच एक पुल के रूप में कार्य करते हैं। Iterators हमेशा कंटेनरों को इंगित करते हैं और वास्तव में एल्गोरिदम वास्तव में, पुनरावृत्तियों पर काम करते हैं और कभी भी सीधे कंटेनरों पर नहीं होते हैं।
Iterators निम्न प्रकार के होते हैं:
- इनपुट Iterators: सरलतम और ज्यादातर एकल-पास एल्गोरिदम में उपयोग किया जाता है।
- आउटपुट इटरेटर: इनपुट पुनरावृत्तियों के रूप में भी लेकिन ट्रैवर्सिंग के लिए उपयोग नहीं किया जाता है।
- द्विदिश Iterators: ये पुनरावृत्तियां दोनों दिशाओं में आगे बढ़ सकती हैं।
- फॉरवर्ड इटरेटर्स: केवल आगे की दिशा में, एक समय में एक कदम के लिए इस्तेमाल किया जा सकता है।
- रैंडम एक्सेस Iterators: संकेत के रूप में भी। किसी भी तत्व को बेतरतीब ढंग से एक्सेस करने के लिए इस्तेमाल किया जा सकता है।
एल्गोरिदम
एल्गोरिदम एसटीएल द्वारा प्रदान किए गए कार्यों या विधियों का एक समूह है जो कंटेनरों पर कार्य करते हैं। ये बिल्ट-इन फ़ंक्शंस हैं और इसका उपयोग सीधे हमारे स्वयं के एल्गोरिदम लिखने के बजाय एसटीएल कंटेनरों और पुनरावृत्तियों के साथ किया जा सकता है।
STL निम्नलिखित प्रकार के एल्गोरिदम का समर्थन करता है:
- एल्गोरिदम की खोज
- छँटाई एल्गोरिदम
- एल्गोरिदम को संशोधित या हेरफेर करना
- गैर-संशोधित एल्गोरिदम
- संख्यात्मक एल्गोरिदम
- न्यूनतम / अधिकतम एल्गोरिदम
जैसा कि प्रत्येक एल्गोरिदम प्रकार बताता है, इन एल्गोरिदम का उपयोग एसटीएल कंटेनरों में विभिन्न कार्यक्षमता को प्राप्त करने के लिए किया जा सकता है जैसे कि खोज करना, छंटाई करना, कंटेनरों में डेटा बदलना, न्यूनतम / अधिकतम मूल्य खोजना, आदि।
निष्कर्ष
यह मानक टेम्पलेट लाइब्रेरी का संक्षिप्त परिचय है। हमारे आगामी ट्यूटोरियल में, हम कंटेनरों, एल्गोरिदम और पुनरावृत्तियों में से प्रत्येक के बारे में अधिक जानेंगे।
=> पूर्ण C ++ मुफ़्त प्रशिक्षण श्रृंखला यहां देखें।