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

C++ STL में forward_list::clear() और forward_list::erase_after()


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

STL में Forward_list क्या है?

फॉरवर्ड लिस्ट सीक्वेंस कंटेनर्स हैं जो सीक्वेंस के भीतर कहीं भी कॉन्स्टेंट टाइम इंसर्शन और इरेज़र ऑपरेशन की अनुमति देते हैं। फॉरवर्ड लिस्ट्स को सिंगली लिंक्ड लिस्ट के रूप में इम्प्लीमेंट किया जाता है। प्रत्येक एलिमेंट के अगले एलिमेंट के लिंक से जुड़ाव द्वारा ऑर्डरिंग रखी जाती है।

forward_list::clear() क्या है?

forward_list::clear() C++ STL में एक इनबिल्ट फंक्शन है जिसे हेडर फाइल में घोषित किया गया है। clear() का उपयोग तब किया जाता है जब हमें फॉरवर्ड लिस्ट के सभी एलिमेंट्स को एक साथ हटाना होता है। यह फंक्शन फॉरवर्ड लिस्ट के सभी एलिमेंट्स को नष्ट कर देता है और फॉरवर्ड लिस्ट का आकार शून्य कर देता है।

सिंटैक्स

flist_container1.clear();

पैरामीटर्स

यह फंक्शन कोई पैरामीटर स्वीकार नहीं करता है।

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

यह फंक्शन कुछ भी नहीं लौटाता है।

उदाहरण

Input: forward_list<int> forward = {1, 2, 3, 4};       forward.clear(); forward.size();       Output: 0

उदाहरण

#include <forward_list> #include <iostream> using namespace std; int main(){    forward_list<int> myList = { 10, 20, 30, 40 };    myList.clear();    for (auto i = myList.begin(); i!= myList.end(); ++i)       cout << ' ' << *i;       cout<<"List is cleared";    return 0; }

आउटपुट

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

List is cleared

forward_list::erase_after() क्या है?

forward_list::erase_after() C++ STL में एक इनबिल्ट फंक्शन है जिसे हेडर फाइल में घोषित किया गया है। erase_after() का उपयोग तब किया जाता है जब हम फॉरवर्ड लिस्ट में एक विशिष्ट पोजीशन के बाद एलिमेंट्स को हटाना चाहते हैं। फॉरवर्ड लिस्ट का आकार हटाए गए एलिमेंट्स की संख्या से कम हो जाता है।

सिंटैक्स

flist_container1.erase_after(unsigned int position);

पैरामीटर्स

यह फंक्शन एक पैरामीटर स्वीकार करता है जो वह पोजीशन है जिसके बाद से हम एलिमेंट्स को हटाना चाहते हैं।

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

यह फंक्शन कुछ भी नहीं लौटाता है।

उदाहरण

Input: forward_list<int> forward = {1, 2, 3, 4};       forward.erased_after(2); Output:       Forward list after erase_after() = 1 2 3

उदाहरण

#include <forward_list> #include <iostream> using namespace std; int main(){    forward_list<int> myList = { 10, 20, 30, 40, 50 };    forward_list<int>::iterator i;    i = myList.begin();    myList.erase_after(i);       cout<<"Elements are : ";    for (auto i = myList.begin(); i!= myList.end(); ++i)       cout << ' ' << *i;    return 0; }

आउटपुट

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

Elements are : 10 30 40 50

  1. - C++ STL में deque_clear() और deque_erase()

    Deque क्या हैDeque डबल एंडेड कतारें हैं जो अनुक्रम कंटेनर हैं जो दोनों छोरों पर विस्तार और संकुचन की कार्यक्षमता प्रदान करती हैं। एक कतार डेटा संरचना उपयोगकर्ता को केवल अंत में डेटा डालने और सामने से डेटा हटाने की अनुमति देती है। बस स्टॉप पर कतारों की सादृश्यता लें जहां व्यक्ति को केवल अंत से कतार म

  1. - C++ STL में forward_list emplace_after() और emplace_front()

    C++ में forward_list::emplace_after() और forward_list::emplace_front() फ़ंक्शंस के कार्य को दिखाने का कार्य दिया गया है।एक forward_list केवल अगले तत्व के साथ लिंकेज रखता है, सामान्य लिस्ट के विपरीत जो अगले और पिछले दोनों तत्वों के साथ लिंकेज रखता है, जो दोनों दिशाओं में पुनरावृत्ति में मदद करता है।

  1. - C++ STL में forward_list::cend()

    C++ में forward_list::cend फ़ंक्शन के कार्य को दिखाने का कार्य दिया गया है।एक forward_list केवल अगले तत्व के साथ लिंकेज रखता है, सामान्य लिस्ट के विपरीत जो अगले और पिछले दोनों तत्वों के साथ लिंकेज रखता है, जो दोनों दिशाओं में पुनरावृत्ति में मदद करता है। लेकिन forward_list केवल आगे की दिशा में पुनरा