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

सी ++ एसटीएल में सूची मिटाएं () फ़ंक्शन

इस लेख में हम C++ में लिस्ट ::इरेज़ () फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।

STL में सूची क्या है?

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

सूची क्या है::मिटाएं()?

सूची ::मिटाएं() सी ++ एसटीएल में एक अंतर्निहित फ़ंक्शन है जिसे हेडर फ़ाइल में घोषित किया गया है। इरेज़ () का उपयोग सूची कंटेनर से तत्वों को हटाने के लिए किया जाता है। हम सूची कंटेनर से किसी एक तत्व या तत्वों की श्रेणी को मिटा सकते हैं। यह सूची कंटेनर के आकार को हटाए जाने/मिटाए जाने वाले तत्वों की संख्या से कम कर देता है

सिंटैक्स

list_container.erase(positon);
list_container.erase(start_position, end_position);

यह फ़ंक्शन एक या दो पैरामीटर स्वीकार कर सकता है -

पैरामीटर

  • स्थिति - यह एक एकल स्थिति है जिसमें से हम एक तत्व को हटाना चाहते हैं।

  • start_position, end_position - यह उस श्रेणी को परिभाषित करता है जिससे हम तत्वों को हटाना चाहते हैं।

रिटर्न वैल्यू

यह फ़ंक्शन एक पुनरावर्तक देता है जो हटाए गए अंतिम तत्व के बगल में इंगित करता है।

उदाहरण

नीचे दिए गए कोड में हमें एसटीलैंड में मौजूद इरेज़ () फ़ंक्शन का उपयोग करके तत्वों को मिटाना होगा, इसके लिए हम एक इटरेटर का उपयोग करके पहला तत्व प्राप्त करेंगे जो कि स्टार्ट () फ़ंक्शन का उपयोग करके पहले तत्व को इंगित करेगा और उसके बाद हम इटरेटर को मिटा देंगे जिसमें सूची का पहला तत्व होता है।

#include <bits/stdc++.h>
using namespace std;
int main(){
   //Create a list
   list<int> myList;
   myList.push_back(2);
   myList.push_back(4);
   myList.push_back(6);
   myList.push_back(8);
   myList.push_back(10);
   cout<<"List before deleting elements: ";
   for (auto i = myList.begin(); i!= myList.end(); i++){
      cout << *i<< " ";
   }
   //iterator that will point to the first element
   list<int>::iterator i = myList.begin();
   myList.erase(i);
   //list after deleting the element
   cout << "\nList after deleting elements: ";
   for (auto i = myList.begin(); i!= myList.end(); i++){
      cout << *i << " ";
   }
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

List before deleting elements: 2 4 6 8 10
List after deleting elements: 4 6 8 10

उदाहरण

नीचे दिए गए कोड में हमें एसटीलैंड में मौजूद इरेज़ () फ़ंक्शन का उपयोग करके तत्वों को मिटाना होगा, इसके लिए हम एक इटरेटर (इटरेटर 1) का उपयोग करके पहला तत्व प्राप्त करेंगे जो कि स्टार्ट () फ़ंक्शन का उपयोग करके पहले तत्व को इंगित करेगा और हम दूसरा लेंगे iterator(iterator 2) सेकेंड एलिमेंट को इंगित करने के लिए और उसके बाद हम iterator को iterator 1 और iterator 2 के बीच की रेंज से मिटा देंगे और परिणाम प्रदर्शित करेंगे।

#include <bits/stdc++.h>
using namespace std;
int main(){
   //Create a list
   list<int> myList;
   myList.push_back(2);
   myList.push_back(4);
   myList.push_back(6);
   myList.push_back(8);
   myList.push_back(10);
   cout<<"List before deleting elements: ";
   for (auto i = myList.begin(); i!= myList.end(); i++){
      cout << *i << " ";
   }
   //iterator that will point to the first element
   list<int>::iterator i_1, i_2;
   i_1 = myList.begin();
   i_2 = myList.begin();
   //advance() function will increment the position of iterator 2 by 3
   advance(i_2, 4);
   //now it will delete the elements from the range 0 - 4
   myList.erase(i_1, i_2);
   //list after deleting the element
   cout<< "\nList after deleting elements: ";
   for (auto i = myList.begin(); i!= myList.end(); i++){
      cout << *i << " ";
   }
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

List before deleting elements: 2 4 6 8 10
List after deleting elements: 10

  1. सी ++ एसटीएल में रिवर्स फ़ंक्शन सूचीबद्ध करें

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

  1. C++ STL में crbegin () और crend ​​() फ़ंक्शन की सूची बनाएं

    C++ में सूची crbegin() और crend() फ़ंक्शंस की कार्यप्रणाली दिखाने का कार्य दिया गया है। सूची ::crbegin () और सूची ::क्रेंड () फ़ंक्शन C++ मानक टेम्पलेट लाइब्रेरी का एक हिस्सा हैं। इन कार्यों को कॉल करने के लिए हेडर फ़ाइल को शामिल किया जाना चाहिए। सूची::crbegin() यह फ़ंक्शन निरंतर पुनरावर्तक देत

  1. सी ++ एसटीएल में सूची वापस () फ़ंक्शन

    c++ में लिस्ट बैक () फंक्शन की कार्यप्रणाली को दिखाने का कार्य दिया गया है। सूची ::बैक () फ़ंक्शन सी ++ मानक टेम्पलेट लाइब्रेरी का एक हिस्सा है। इसका उपयोग किसी भी सूची के अंतिम तत्व को प्रदर्शित करने के लिए किया जाता है। इस फ़ंक्शन को कॉल करने से पहले हेडर फ़ाइल शामिल की जानी चाहिए। सिंटैक्स Lis