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

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


यह ट्यूटोरियल इस बात पर चर्चा करेगा कि ट्रैवर्स करते समय HashMap से कुंजी का उपयोग करके एंट्री को कैसे हटाया जाए। उदाहरण के लिए,

इनपुट: HashMap: {1: "Tutorials", 2: "Tutorials", 3: "Point"}, key=1
आउटपुट: HashMap: {2: "Tutorials", 3: "Point"}.
व्याख्या: पहला तत्व कुंजी '1' का उपयोग करके हटा दिया गया है।

इनपुट: HashMap: {1: "God", 2: "is", 3: "Great"}, key=2
आउटपुट: HashMap: {1: "God", 3: "Great"}.

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

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

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

उदाहरण

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

बिना पुनरावृति के

नीचे HashMap पर पुनरावृति किए बिना तत्वों को हटाने का कोड है।

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

int main() {
    // HashMap बनाना।
    map mp;
    // Hashmap में की-वैल्यू पेयर डालना।
    mp[1] = "Tutorials";
    mp[2] = "Tutorials";
    mp[3] = "Point";
    int key = 2;
    // इटरेटर बनाना।
    map::iterator it;
    // प्रारंभिक Hashmap प्रिंट करना।
    cout << "हटाने से पहले HashMap:\n";
    for (it = mp.begin(); it != mp.end(); ++it)
        cout << it->first << "->" << it->second << endl;
    mp.erase(key);
    // हटाने के बाद Hashmap प्रिंट करना।
    cout << "हटाने के बाद HashMap:\n";
    for (it = mp.begin(); it != mp.end(); ++it)
        cout << it->first << "->" << it->second << endl;
    return 0;
}

आउटपुट

हटाने से पहले HashMap:
1->Tutorials
2->Tutorials
3->Point
हटाने के बाद HashMap:
1->Tutorials
3->Point

उदाहरण

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

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

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

आउटपुट

हटाने से पहले HashMap:
1->Tutorials
2->Tutorials
3->Point
हटाने के बाद HashMap:
1->Tutorials
3->Point

निष्कर्ष

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

  1. - C++ का उपयोग करके लिंक्ड लिस्ट के अंतिम नोड को हटाना

    हमें एक सिंगली लिंक्ड लिस्ट प्रदान की गई है, और हमें उस लिस्ट से अंतिम नोड को हटाने का कार्य दिया गया है। इस समस्या में, हम बस दी गई लिस्ट को पार करने जा रहे हैं और अंतिम नोड को हटा देंगे। समाधान खोजने का दृष्टिकोण next को NULL में बदल देते हैं और वर्तमान नोड को डिलीट कर देते हैं। उदाहरण next) { /

  1. - C++ का उपयोग करके स्ट्रिंग से दिए गए शब्द को हटाना

    इस लेख में, हम दिए गए स्ट्रिंग से दिए गए शब्द को हटाने की समस्या को हल करेंगे। उदाहरण के लिए: इनपुट: str = remove a given word, word = remove आउटपुट: a given word इनपुट: str = god is everywhere, word = is आउटपुट: god everywhere समाधान खोजने का दृष्टिकोण उदाहरण के लिए, हम स्ट्रिंग से एक शब्द को हट

  1. C++ में क्यू का उपयोग करके BST में एक पथ को उल्टा करना C++ में क्यू का उपयोग करके BST में एक पथ को उल्टा करना

    एक बाइनरी सर्च ट्री दिया गया है, और हमें एक विशेष कुंजी से इसके पथ को उल्टा करना आवश्यक है, उदाहरण के लिए। समाधान खोजने का दृष्टिकोण इस दृष्टिकोण में, हम एक क्यू बनाएंगे और रूट मिलने तक सभी नोड्स को पुश करेंगे। उदाहरण left); cout key key = q1.front(); // हम वर्तमान के साथ पहली क्यू तत्व