ऐरे का उपयोग एकाधिक डेटा संग्रहीत करने के लिए किया जाता है, और ऐरे के तत्वों की संख्या को रन टाइम पर नहीं बदला जा सकता है। इस समस्या को एक वेक्टर का उपयोग करके हल किया जा सकता है जो एक गतिशील सरणी की तरह काम करता है। वेक्टर क्लास में वेक्टर से किसी तत्व को जोड़ने और हटाने के लिए अलग-अलग फ़ंक्शन मौजूद होते हैं। इरेज़() फ़ंक्शन का उपयोग रन टाइम पर वेक्टर से एक या अधिक तत्वों को हटाने के लिए किया जाता है जिससे वेक्टर का आकार कम हो जाता है। इस फ़ंक्शन के उपयोगों को इस ट्यूटोरियल में समझाया गया है।
वाक्य - विन्यास:
इस Function के दो प्रकार के Syntax नीचे दिये गये हैं।
पुनरावर्तक मिटाएँ ( पुनरावर्तक स्थिति ) ;
उपरोक्त इरेज़() फ़ंक्शन का उपयोग वेक्टर से किसी एक तत्व को हटाने के लिए किया जाता है, और यह एक पुनरावर्तक लौटाता है, और यह उस तत्व को इंगित करता है जिसके बाद अंतिम मिटाया गया तत्व आता है।
पुनरावर्तक मिटाएँ ( पुनरावर्तक आरंभ_स्थिति, पुनरावर्तक समाप्ति_स्थिति ) ;
उपरोक्त इरेज़() फ़ंक्शन का उपयोग इस फ़ंक्शन के पहले और दूसरे तर्कों में उल्लिखित स्थिति के आधार पर वेक्टर से कई तत्वों को हटाने के लिए किया जाता है।
पूर्व अपेक्षित:
इस ट्यूटोरियल के उदाहरणों की जांच करने से पहले, आपको यह जांचना होगा कि सिस्टम में g++ कंपाइलर स्थापित है या नहीं। यदि आप विज़ुअल स्टूडियो कोड का उपयोग कर रहे हैं, तो निष्पादन योग्य कोड बनाने के लिए C++ स्रोत कोड को संकलित करने के लिए आवश्यक एक्सटेंशन इंस्टॉल करें। यहां, C++ कोड को संकलित और निष्पादित करने के लिए विज़ुअल स्टूडियो कोड एप्लिकेशन का उपयोग किया गया है। वेक्टर में तत्वों को सम्मिलित करने के लिए इरेज़() फ़ंक्शन के विभिन्न उपयोग नीचे दिखाए गए हैं।
उदाहरण-1: प्रथम तत्व तत्व को हटा दें
वेक्टर की शुरुआत से एक तत्व को हटाने के लिए निम्नलिखित कोड के साथ एक C++ फ़ाइल बनाएं। कोड में स्ट्रिंग मानों के एक वेक्टर का उपयोग किया गया है। एक पैरामीटर के साथ इरेज़() फ़ंक्शन का उपयोग करके वेक्टर से पहले तत्व को हटाने से पहले और बाद में वेक्टर के मान मुद्रित किए गए हैं।
// आवश्यक पुस्तकालय शामिल करें#शामिल करें
#शामिल <वेक्टर>
का उपयोग करते हुए नाम स्थान कक्षा ;
//वेक्टर के मान प्रदर्शित करें
खालीपन डिस्प्ले_वेक्टर ( वेक्टर < डोरी > फल )
{
// काउंटर को इनिशियलाइज़ करें
int यहाँ विरोध करना = 1 ;
// लूप का उपयोग करके वेक्टर के तत्वों को पुनरावृत्त करें और प्रिंट करें
के लिए ( ऑटो वह = फल। शुरू ( ) ; वह ! = फल। अंत ( ) ; वह ++ )
{
// जांचें कि तत्व अंतिम तत्व है या नहीं
अगर ( विरोध करना ! = फल। आकार ( ) )
अदालत << * वह << ', ' ;
अन्य
अदालत << * वह ;
//काउंटर को 1 से बढ़ाएँ
विरोध करना ++ ;
}
अदालत << अंतः ;
}
int यहाँ मुख्य ( खालीपन ) {
//स्ट्रिंग डेटा का एक वेक्टर घोषित करें
वेक्टर < डोरी > फल = { 'नारंगी' , 'केला' , 'आम' , 'जैक फ्रूट' , लीची } ;
//वेक्टर के मौजूदा मान प्रिंट करें
अदालत << 'हटाने से पहले वेक्टर के मान:' << अंतः ;
डिस्प्ले_वेक्टर ( फल ) ;
//वेक्टर से पहला तत्व हटाएँ
फल। मिटा ( फल। शुरू ( ) ) ;
//हटाने के बाद वेक्टर के मौजूदा मान प्रिंट करें
अदालत << ' \एन हटाने के बाद वेक्टर का मान: ' << अंतः ;
डिस्प्ले_वेक्टर ( फल ) ;
वापस करना 0 ;
}
आउटपुट:
उपरोक्त कोड निष्पादित करने के बाद निम्नलिखित आउटपुट दिखाई देगा।
उदाहरण-2: अनेक तत्वों को हटाएँ
इरेज़() फ़ंक्शन का उपयोग करके वेक्टर से कई तत्वों को हटाने के लिए निम्नलिखित कोड के साथ एक C++ फ़ाइल बनाएं। कोड में पूर्णांक मानों के एक वेक्टर का उपयोग किया गया है। वेक्टर से हटाए गए तत्वों की सीमा निर्धारित करने के लिए यहां दो पुनरावर्तकों का उपयोग किया गया है। वेक्टर से कई तत्वों को हटाने के लिए इरेज़ () फ़ंक्शन का उपयोग दो मापदंडों के साथ किया गया है।
// आवश्यक पुस्तकालय शामिल करें#शामिल <वेक्टर>
#शामिल करें
का उपयोग करते हुए नाम स्थान कक्षा ;
//वेक्टर प्रदर्शित करें
खालीपन डिस्प्ले_वेक्टर ( वेक्टर < int यहाँ > nums )
{
// लूप का उपयोग करके वेक्टर के मान प्रिंट करें
के लिए ( ऑटो वह = nums. शुरू ( ) ; वह ! = nums. अंत ( ) ; वह ++ )
अदालत << * वह << ' ' ;
// नई लाइन जोड़ें
अदालत << ' \एन ' ;
}
int यहाँ मुख्य ( ) {
//पूर्णांक डेटा का एक वेक्टर घोषित करें
वेक्टर < int यहाँ > intArray { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;
//वेक्टर के मौजूदा मान प्रिंट करें
अदालत << 'हटाने से पहले वेक्टर के मान:' << अंतः ;
डिस्प्ले_वेक्टर ( intArray ) ;
//वेक्टर से तत्वों की श्रेणी को हटाने के लिए दो पुनरावृत्तियों की घोषणा करें
वेक्टर < int यहाँ > :: इटरेटर प्रारंभEle, EndEle ;
//इटरेटर को पहले स्थान पर सेट करें
उन्हें शुरू करो = intArray. शुरू ( ) ;
//प्रारंभिक पुनरावर्तक को 2 से बढ़ाएँ
अग्रिम ( उन्हें शुरू करो, 2 ) ;
//इटरेटर को अंतिम स्थिति पर सेट करें
अंतEle = intArray. अंत ( ) ;
//अंत वाले पुनरावर्तक को 3 से घटाएँ
अग्रिम ( अंतएले, - 3 ) ;
//तत्वों की श्रेणी हटाएँ
intArray. मिटा ( प्रारंभEle, EndEle ) ;
//हटाने के बाद वेक्टर के मौजूदा मान प्रिंट करें
अदालत << ' \एन हटाने के बाद वेक्टर का मान: ' << अंतः ;
डिस्प्ले_वेक्टर ( intArray ) ;
वापस करना 0 ;
}
आउटपुट:
उपरोक्त कोड निष्पादित करने के बाद निम्नलिखित आउटपुट दिखाई देगा। पुनरावर्तकों की सीमा के अनुसार, वेक्टर के तीसरे स्थान से 7वें स्थान तक के तत्वों को हटा दिया गया है।
उदाहरण-3: विशिष्ट तत्वों को हटाएँ
इरेज़() फ़ंक्शन का उपयोग करके वेक्टर के विशिष्ट तत्वों को हटाने के लिए निम्नलिखित कोड के साथ एक C++ फ़ाइल बनाएं। कोड में 7 पूर्णांक तत्वों का एक वेक्टर घोषित किया गया है। इसके बाद, 'फॉर' लूप का उपयोग वेक्टर तत्वों को पुनरावृत्त करने और वेक्टर से उन तत्वों को हटाने के लिए किया जाता है जो 5 से विभाज्य नहीं हैं।
// आवश्यक पुस्तकालय शामिल करें#शामिल करें
#शामिल <वेक्टर>
का उपयोग करते हुए नाम स्थान कक्षा ;
int यहाँ मुख्य ( )
{
//पूर्णांक डेटा का एक वेक्टर घोषित करें
वेक्टर < int यहाँ > नंबर = { 78 , चार पांच , 67 , 25 , 98 , 75 , 52 } ;
अदालत << 'हटाने से पहले वेक्टर के मान: \एन ' ;
के लिए ( int यहाँ कॉन्स्ट & मैं : नंबर ) {
अदालत << मैं << '' ;
}
अदालत << अंतः ;
//वेक्टर से उन संख्याओं को हटा दें जो 5 से विभाज्य नहीं हैं
के लिए ( ऑटो वह = नंबर. शुरू ( ) ; वह ! = नंबर. अंत ( ) ; वह ++ )
{
// जांचें कि संख्या 5 से विभाज्य है या नहीं
अगर ( * वह % 5 ! = 0 )
{
//इटरेटर के आधार पर तत्व को हटा दें
नंबर. मिटा ( वह -- ) ;
}
}
अदालत << 'हटाने के बाद वेक्टर के मान: \एन ' ;
के लिए ( int यहाँ कॉन्स्ट & मैं : नंबर ) {
अदालत << मैं << '' ;
}
अदालत << अंतः ;
वापस करना 0 ;
}
आउटपुट:
उपरोक्त कोड निष्पादित करने के बाद निम्नलिखित आउटपुट दिखाई देगा। आउटपुट से पता चलता है कि वेक्टर में केवल 5 से विभाज्य तत्व हैं, और अन्य तत्व हटा दिए गए हैं।
निष्कर्ष:
वेक्टर तत्वों को हटाने के लिए इस ट्यूटोरियल में इरेज़() फ़ंक्शन के विभिन्न उपयोग दिखाए गए हैं। C++ में वेक्टर से तत्व को हटाने के लिए कई अन्य फ़ंक्शन हैं, और वे फ़ंक्शन एक समय में एकल तत्व को हटा सकते हैं। लेकिन वेक्टर इरेज़() फ़ंक्शन का उपयोग करके वेक्टर की किसी भी स्थिति से एकल और एकाधिक दोनों तत्वों को हटाया जा सकता है।