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

C++ में पुनरावृति करते समय HashMap से मान का उपयोग करके एंट्री हटाना


इनपुट: HashMap: {1: "Mango", 2: "Orange", 3: "Banana", 4: "Apple"}, value="Banana"
आउटपुट: HashMap: {1: "Mango", 2: "Orange", 4: "Apple"}.
व्याख्या: तीसरा की-वैल्यू पेयर "banana" मान का उपयोग करके हटा दिया गया है।

इनपुट: HashMap: {1: "Yellow", 2: "White", 3: "Green"}, value="White"
आउटपुट: HashMap: {1: "Yellow", 3: "Green"}.

समाधान खोजने का दृष्टिकोण

C++ में, हम .erase() फंक्शन का उपयोग करके तत्व को हटा सकते हैं। erase() फंक्शन से, हम की नाम या इटरेटर का उपयोग करके तत्व को हटा सकते हैं। इस ट्यूटोरियल में, हम इटरेटर का उपयोग करके तत्वों को हटाने पर चर्चा करेंगे।

यहां हम हैशमैप के माध्यम से पुनरावृति करेंगे और जांचेंगे कि क्या हर मान हटाने वाला है और जब मान मेल खाता है तो एंट्री को हटा देंगे।

उदाहरण

उपरोक्त दृष्टिकोण के लिए C++ कोड

HashMap पर पुनरावृति करते हुए तत्व हटाएं

#include<iostream>
#include<map> // मैप ऑपरेशन के लिए
using namespace std;

int main() {
    // HashMap बनाना।
    map fruits;
    // Hashmap में की-वैल्यू पेयर डालना।
    fruits[1] = "Mango";
    fruits[2] = "Orange";
    fruits[3] = "Banana";
    fruits[4] = "Apple";
    string value = "Banana";
    // इटरेटर बनाना।
    map::iterator it;
    // प्रारंभिक Hashmap प्रिंट करना।
    cout << "हटाने से पहले HashMap:\n";
    for (it = fruits.begin(); it != fruits.end(); ++it)
        cout << it->first << "->" << it->second << endl;
    for (it = fruits.begin(); it != fruits.end(); ++it) {
        string temp = it->second;
        // इटरेटर मान की आवश्यक मान से तुलना करना।
        if (temp.compare(value) == 0) {
            // तत्व मिटाना।
            fruits.erase(it);
        }
    }
    // हटाने के बाद Hashmap प्रिंट करना।
    cout << "हटाने के बाद HashMap:\n";
    for (it = fruits.begin(); it != fruits.end(); ++it)
        cout << it->first << "->" << it->second << endl;
    return 0;
}

आउटपुट

हटाने से पहले HashMap:
1->Mango
2->Orange
3->Banana
4->Apple
हटाने के बाद HashMap:
1->Mango
2->Orange
4->Apple

निष्कर्ष

इस ट्यूटोरियल में, हमने मान का उपयोग करके HashMap से एंट्री को हटाने के तरीके पर चर्चा की। हमने इस पर पुनरावृति करके एंट्री को हटाने के तरीके पर चर्चा की। हमने इस समस्या के लिए C++ प्रोग्राम पर भी चर्चा की जिसे हम C, Java, Python आदि प्रोग्रामिंग भाषाओं के साथ कर सकते हैं। आशा है कि आपको यह ट्यूटोरियल मददगार लगा होगा।

  1. - C++ में std::string से स्पेस हटाना

    इस प्रोग्राम में हम देखेंगे कि C++ में std::string से स्पेस कैसे हटाएं। इसे हटाने के लिए हम remove() फंक्शन का उपयोग करेंगे। इस remove() फंक्शन के साथ यह इटरेटर की शुरुआत और अंत लेता है, फिर तीसरा आर्गुमेंट लेता है जिसे उस इटरेटर ऑब्जेक्ट से हटाया जाएगा। इनपुट: एक स्ट्रिंग This is C++ Programming L

  1. - C++ का उपयोग करके पावर (pow) फंक्शन लिखें

    पावर फंक्शन का उपयोग दो संख्याओं बेस और एक्सपोनेंट दिए जाने पर पावर खोजने के लिए किया जाता है। परिणाम बेस का एक्सपोनेंट की पावर होता है। एक उदाहरण जो इसे प्रदर्शित करता है वह निम्नलिखिक है − बेस = 2 एक्सपोनेंट = 5 2^5 = 32 इसलिए, 2 की पावर 5 है 32। C++ में पावर फंक्शन को प्रदर्शित करने वाला एक

  1. - मान का उपयोग करके HashMap से कुंजी प्राप्त करने के लिए Java प्रोग्राम

    इस लेख में, हम समझेंगे कि मान का उपयोग करके HashMap से कुंजी कैसे प्राप्त करें। Java HashMap Java के Map इंटरफेस की हैश टेबल आधारित कार्यान्वयन है। यह कुंजी-मान जोड़े का संग्रह है। नीचे इसका प्रदर्शन है: मान लीजिए हमारा इनपुट है: इनपुट HashMap: {Java=8, Scala=5, Python=15} कुंजी: 8 वांछित आउटपुट