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

C++ STL में forward_list::remove()


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

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

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

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

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

सिंटैक्स

flist_container1.remove(const value_type& value);

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

रिटर्न मान

यह फंक्शन कुछ भी वापस नहीं करता।

उदाहरण

#include <forward_list>
#include <iostream>
using namespace std;

int main() {
    forward_list<int> forwardList = {2, 3, 1, 1, 1, 6, 7};
    
    cout << "list before applying remove operation: ";
    for (auto i = forwardList.begin(); i != forwardList.end(); ++i)
        cout << ' ' << *i;
    
    forwardList.remove(1);  // मान 1 वाले सभी तत्व हटाएँ
    
    cout << "\nlist after applying remove operation: ";
    for (auto i = forwardList.begin(); i != forwardList.end(); ++i)
        cout << ' ' << *i;
}

आउटपुट

list before applying remove operation: 2 3 1 1 1 6 7
list after applying remove operation: 2 3 6 7

नोट

remove_if(predicate) का उपयोग करके शर्त-आधारित हटाना भी कर सकते हैं, जैसे: flist.remove_if([](int x){ return x % 2 == 0; }); (सभी सम संख्याएँ हटाएँ)।

  1. - C++ STL में set बनाम unordered_set - अंतर और उपयोग

    Set क्या है? Set एक एसोसिएटिव कंटेनर (associative container) है जिसमें Key प्रकार की अनुक्रमित (sorted) अद्वितीय (unique) वस्तुएं होती हैं। प्रत्येक तत्व केवल एक बार आ सकता है, डुप्लिकेट अनुमत नहीं हैं। उपयोगकर्ता किसी भी क्रम में तत्व डाल सकता है, लेकिन set स्वचालित रूप से क्रमबद्ध डेटा लौटाता है।

  1. - C++ में रिमूव बॉक्सेस समस्या

    मान लीजिए हमारे पास अलग-अलग रंगों के कई बॉक्स हैं। ये रंग अलग-अलग पॉजिटिव नंबरों द्वारा दर्शाए गए हैं। हम कई राउंड्स में बॉक्सेस को तब तक हटा सकते हैं जब तक कोई बॉक्स न बचे। प्रत्येक राउंड में हम एक ही रंग के कुछ कंटीन्यूअस बॉक्सेस (k बॉक्सेस से बने, k ≥ 1) चुन सकते हैं, उन्हें हटा सकते हैं और k*k

  1. C++ STL में स्टैक (3.5) C++ STL में स्टैक (3.5)

    C++ STL में, स्टैक का उपयोग एक कंटेनर के रूप में किया जाता है जिसे LIFO संरचना के रूप में कार्यान्वित किया जाता है। LIFO का अर्थ है लास्ट इन फर्स्ट आउट। स्टैक को किताबों के ढेर के रूप में देखा जा सकता है जिसमें किताबें एक के ऊपर एक व्यवस्थित होती हैं और अंत में डाली गई किताब सबसे पहले हटाई जाएगी इसल