C++ में STL क्या हैं?-2024

C++ में STL क्या हैं?-2024

C++ STL in Competitive Programming ...

 

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

C++ में STL क्या हैं?

स्टैण्डर्ड टेम्पलेट लाइब्रेरी STL C++ टेम्पलेट क्लासों का एक मजबूत सेट है जो विभिन्न सामान्य रूप से उपयोग किए जाने वाले एल्गोरिदम और डेटा संरचनाओं को लागू करने के लिए सामान्य-उद्देश्य वाली क्लासें और फ़ंक्शन प्रदान करता है। C++ में कुछ लोकप्रिय STL हैं वेक्टर, पेयर, स्टैक, क्यू, लिस्ट आदि।

C++ में STL की मदद से, प्रोग्रामर आम तौर पर पठनीय और रखरखाव योग्य कोड बनाते समय उच्च उत्पादकता प्राप्त कर सकते हैं। अधिकांश डेटा प्रकारों के साथ काम करने वाले एल्गोरिदम और डेटा संरचनाएँ लिखना आसान हो जाता है। इस लेख में, हम C++ में STL की अवधारणा और अनुप्रयोगों के बारे में गहराई से जानेंगे। बेहतर समझ पाने के लिए आपको बस हमारे साथ बने रहना होगा और पूरा लेख पढ़ना होगा।

अनुशंसित पाठ्यक्रम

C++ में STL के घटक

STL में, C++ में चार प्रमुख घटक हैं। आइए उन पर एक नज़र डालें।

कंटेनरों

कंटेनर कुछ खास तरह की वस्तुओं के संग्रह को प्रबंधित करने में मदद करते हैं। डेटा संरचना में विभिन्न प्रकार के कंटेनर उपलब्ध हैं, जैसे कि वेक्टर, सूचियाँ, कतारें, स्टैक, सेट, मैप्स, आदि।

एल्गोरिदम

एल्गोरिदम विभिन्न कार्यों का एक संग्रह है जो खोज, छंटाई और अन्य जैसी विभिन्न कार्यात्मकताओं को लागू करने में मदद करता है।

कार्य

STL में फ़ंक्शन तर्क और ऑपरेटर प्रदान करने में मदद करते हैं ताकि यह बताया जा सके कि संलग्न तत्वों पर कौन से ऑपरेशन किए जाएंगे। फ़ंक्शन में कई फ़ंक्शन ऑब्जेक्ट, जैसे कि प्रेडिकेट और ऑपरेटर, का उपयोग किया जाता है।

 

पुनरावर्तक

इटरेटर्स C++ STL में पॉइंटर्स की तरह होते हैं। यह ट्रैवर्सिंग के दौरान अनुक्रम में काम करने में मदद करता है। यह उन सीमाओं को परिभाषित करता है जिन पर एल्गोरिदम और फ़ंक्शन STL में काम करते हैं।

C++ में STL के महत्वपूर्ण कंटेनर

आइये अब C++ में प्रयुक्त कुछ महत्वपूर्ण STL कंटेनरों पर नजर डालें।

सरणी

ऐरे निश्चित आकार के अनुक्रमिक डेटा कंटेनर होते हैं जो डेटा को एक निरंतर मेमोरी स्थान में संग्रहीत करते हैं। वे एक ही डेटा प्रकार के कई मानों को क्रमिक रूप से संग्रहीत करते हैं। इसका उपयोग आमतौर पर डेटा संग्रहीत करने, तत्वों को पुनरावृत्त करने और सरणी के अंदर संग्रहीत तत्वों पर सम्मिलन, विलोपन और खोज जैसे विभिन्न ऑपरेशन करने के लिए किया जाता है।

सरणीसरणी_नाम;

C++ में STL में सारणी
सरणी मायऐरे;

वैक्टर

वेक्टर C++ में STL का एक अनिवार्य हिस्सा हैं। सरणियों के विपरीत, वे गतिशील सरणियों की तरह हैं, जो अपने आप अपना आकार बदल सकते हैं। हम वेक्टर से तत्वों को आसानी से सम्मिलित या हटा सकते हैं। वे पारंपरिक सरणियों के लिए अधिक लचीले और लोकप्रिय विकल्प हैं, जिससे हम तत्वों के संग्रह को कुशलतापूर्वक प्रबंधित कर सकते हैं। वेक्टर का उपयोग करने के कुछ महत्वपूर्ण लाभ गतिशील आकार, लचीलापन, यादृच्छिक पहुँच, स्वचालित आकार बदलना आदि हैं।

वेक्टर वेक्टर_नाम;

C++ में वेक्टर STL
#शामिल करना

#शामिल करना

नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु() {

 

वेक्टर मायवेक्टर;

 

मायवेक्टर.पुश_बैक(1);

मायवेक्टर.पुश_बैक(2);

मायवेक्टर.पुश_बैक(3);

 

cout << “वेक्टर में तत्व: “;

for (int i = 0; i < myVector.size(); ++i) {

cout << मायवेक्टर[i] << ” “;

}

cout << एंडल;

for (const ऑटो& तत्व: myVector) {

cout << तत्व << ” “;

}

cout << std::endl;

 

मायवेक्टर.पुश_बैक(4);

मायवेक्टर.पुश_बैक(5);

 

for (const ऑटो& तत्व: myVector) {

std::cout << तत्व << ” “;

}

std::cout << std::endl;

0 लौटाएं;

}

सूची

सूचियाँ C++ में STL द्वारा प्रदान की गई कंटेनर क्लास हैं। यह डेटा संरचनाओं में डबल-लिंक्ड सूचियों को लागू करने में मदद करती है। वे सरणियों और वैक्टर जैसे सन्निहित मेमोरी स्थानों पर संग्रहीत नहीं हैं। सूचियों में, हम किसी भी छोर से प्रविष्टि और विलोपन कर सकते हैं। सूचियों की कुछ आवश्यक विशेषताएं एक डबल लिंक्ड सूची, गतिशील आकार, कुशल प्रविष्टि और विलोपन, और कोई यादृच्छिक पहुँच नहीं हैं।

 

सूची नाम की सूचि

C++ में STL की सूची बनाएं
#शामिल करना

#शामिल करना

नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु() {

 

सूची मेरी सूची;

मेरी सूची.push_back(1);

मेरी सूची.push_front(2);

मेरी सूची.push_back(3);

मेरी सूची.push_front(4);

 

for (const ऑटो& तत्व: myList) {

cout << तत्व << ” “;

}

cout << एंडल;

0 लौटाएं;

}

अव्यवस्थित मानचित्र

अव्यवस्थित मानचित्र एक कंटेनर है जो कुंजी-मूल्य जोड़े संग्रहीत करता है। यह तेज़ पहुँच समय को लागू करने के लिए हैशिंग का उपयोग करता है। अव्यवस्थित मानचित्र में कुंजियाँ अद्वितीय और अव्यवस्थित हैं।

अव्यवस्थित_मानचित्रमानचित्र_नाम

C++ में अव्यवस्थित मानचित्र STL
अव्यवस्थित_मानचित्र फ़्रीक्वेंट;

स्ट्रिंग शब्द[]={“सेब”, “केला”, “सेब”, “संतरा”}

उपरोक्त तालिका में, फलों के नाम और अव्यवस्थित मानचित्र freqWords युक्त स्ट्रिंग प्रत्येक फल की आवृत्ति को एक अद्वितीय कुंजी के साथ संग्रहीत करेगी।

अव्यवस्थित सेट

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

अव्यवस्थित_सेट नाम

C++ में अव्यवस्थित सेट STL
अव्यवस्थित_सेट मेरा सेट;

मायसेट.इन्सर्ट(1);

मायसेट.इन्सर्ट(2);

मायसेट.इन्सर्ट(1);

मायसेट.इन्सर्ट(3);

मायसेट.इन्सर्ट(5);

for(const ऑटो और तत्व: mySet){

कोर्ट<

}

जैसा कि हम देख सकते हैं कि अव्यवस्थित सेट में डुप्लिकेट तत्व 1 शामिल नहीं है। यह अपने अंदर केवल अद्वितीय मान संग्रहीत करता है। इसमें विभिन्न पूर्वनिर्धारित विधियाँ शामिल हैं जैसे ढूँढना, सम्मिलित करना, मिटाना, आदि।

ढेर

स्टैक C++ में STL में एक कंटेनर है जो लास्ट इन लास्ट आउट (LIFO) नियम पर काम करता है। स्टैक में सभी प्रमुख ऑपरेशन इसके शीर्ष तत्व पर होते हैं। इसमें pop(), push(), peek(), empty(), size(), आदि जैसे विभिन्न पूर्वनिर्धारित तरीके शामिल हैं।

ढेर नाम 4

C++ में स्टैक STL में
#शामिल करना

मुख्य प्रवेश बिंदु()

{

ढेर संख्याएं;

संख्या.पुश(1);

संख्या.पुश(2);

संख्या.पुश(3);

int आइटम = संख्या.शीर्ष();

संख्या.पॉप();

cout << आइटम << endl;

0 लौटाएं;

}

कतार

STL में C++ में क्यू एक कंटेनर है जो क्यू इंटरफ़ेस को लागू करता है। यह फर्स्ट इन फर्स्ट आउट (FIFO) सिद्धांत का पालन करता है। इसका मतलब है कि क्यू में जो पहला तत्व जोड़ा जाता है, वही तत्व सबसे पहले हटाया जाता है।

C++ में कतार STL में
#शामिल करना

मुख्य प्रवेश बिंदु() {

 

कतार संख्याएं;

संख्या.पुश(1);

संख्या.पुश(2);

संख्या.पुश(3);

 

int आइटम = संख्या.फ्रंट();

संख्या.पॉप();

cout << आइटम << endl;

0 लौटाएं;

}

C++ में क्यू STL में विभिन्न पूर्वनिर्धारित विधियां भी शामिल होती हैं, जैसे कि push(), pop(), front(), empty(), size(), आदि। वे बहुत उपयोगी डेटा संरचनाएं हैं और जॉब क्यू, बफर डेटा, ट्री आदि जैसे विभिन्न अनुप्रयोगों को लागू करने में उपयोग की जाती हैं।

इसलिए

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

इसलिए नाम

C++ में STL को पंक्तिबद्ध करें
#शामिल करना

मुख्य प्रवेश बिंदु() {

 

इसलिए संख्याएं;

संख्या.पुश_फ्रंट(6);

संख्या.पुश_फ्रंट(4);

संख्या.पुश_फ्रंट(9);

int आइटम = संख्या.फ्रंट();

संख्या.पॉप_फ्रंट();

cout << आइटम << endl;

संख्या.पुश_बैक(4);

संख्या.पुश_बैक(5);

संख्या.पुश_बैक(6);

आइटम = संख्या.बैक();

संख्या.pop_back();

cout << आइटम << endl;

0 लौटाएं;

}

 

STL में कुछ पूर्वनिर्धारित डिक्यू विधियाँ हैं push_front(), pop_front(), push_back(), front(), back(), front(), back(), size(), आदि।

अग्रेषित सूची

C++ में फॉरवर्ड लिस्ट STL एक कंटेनर है जो सिंगल लिंक्ड लिस्ट को लागू करता है। इसे C++ 11 में पेश किया गया था और यह सूची की शुरुआत में निरंतर औसत समय प्रविष्टि और विलोपन प्रदान करता है। हालाँकि, यह तत्वों की यादृच्छिक पहुँच की अनुमति नहीं देता है।

सी++ में फॉरवर्ड लिस्ट STL
#शामिल करना

मुख्य प्रवेश बिंदु() {

 

आगे_सूची संख्याएं;

संख्या.पुश_फ्रंट(1);

संख्या.पुश_फ्रंट(2);

संख्या.पुश_फ्रंट(3);

 

int आइटम = संख्या.फ्रंट();

 

संख्या.पॉप_फ्रंट();

cout << आइटम << endl;

संख्या.पुश_फ्रंट(4);

(ऑटो और आईटी: संख्या) के लिए {

cout << यह<< ” “;

}

cout << एंडल;

0 लौटाएं;

}

इसके अलावा, ज़्यादा STL कंटेनर उपलब्ध हैं, जिनका इस्तेमाल दुनिया भर के डेवलपर्स और प्रोग्रामर करते हैं। STL सपोर्ट के कारण C++ प्रोग्रामिंग लैंग्वेज को बड़ी टेक कंपनियों में भी पसंद किया जाता है। और भी बहुत कुछ है सी++ की विशेषताएंजिसे आप लिंक पर क्लिक करके देख सकते हैं।

अक्सर पूछे जाने वाले प्रश्न (एफएक्यू)

प्रश्न 1. C++ में STL का पूर्ण रूप क्या है?

उत्तर:: C++ STL का मतलब है स्टैण्डर्ड टेम्पलेट लाइब्रेरी। इसमें विभिन्न कंटेनर जैसे कि वेक्टर, स्टैक, मैप आदि शामिल हैं। यह विभिन्न डेटा संरचनाओं को प्रभावी ढंग से लागू करने में मदद करता है। अधिक जानकारी के लिए पूरा लेख पढ़ें।

प्रश्न 2. C++ में कुछ प्रमुख STL कंटेनर कौन से हैं?

उत्तर:C++ में कुछ महत्वपूर्ण कंटेनर्स हैं – वेक्टर्स, एरे, स्टैक्स, क्यू, डीक्यू, फॉरवर्ड लिस्ट, मैप्स, आदि। संपूर्ण STL कंटेनर्स को उपरोक्त लेख में शामिल किया गया है।

प्रश्न 3. C++ की तीन प्रमुख लाइब्रेरी कौन सी हैं?

उत्तर: C++ में तीन महत्वपूर्ण लाइब्रेरीज़ हैं: जनरल यूटिलिटी लाइब्रेरी, डायग्नोस्टिक लाइब्रेरी और लैंग्वेज सपोर्ट लाइब्रेरी।

you may be interested in this blog here:-

Advanced OOP Concepts in SAP ABAP A Comprehensive Guide

Salesforce Developer Salary in India An In-Depth Analysis

SAP MM Consultant resume 3 years experience

 

admin
admin
https://www.thefullstack.co.in

Leave a Reply