Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 반복하는 동안 HashMap에서 값을 사용하여 항목 제거

<시간/>

값을 반복하면서 값을 사용하여 HashMap에서 항목을 제거하는 방법에 대해 논의하십시오. 예를 들어

Input: HashMap: { 1: “ Mango ”,
2: “ Orange ”,
3: “ Banana ”,
4: “Apple ” }, value=”Banana”

Output: HashMap: { 1: “ Mango ”,
2: “ Orange ”,
4: “Apple ” }.

Explanation: The third key-value pair is removed using the value “banana”.

Input: HashMap: { 1: “Yellow”,
2: “White”,
3: “Green” }, value=”White”

Output: HashMap: { 1: “Yellow”,
3: “Green” }.

해결책을 찾기 위한 접근 방식

C++에서는 .erase() 함수를 사용하여 요소를 제거할 수 있습니다. Erase() 함수에서 키 이름을 사용하거나 반복자를 사용하여 요소를 제거할 수 있습니다. 이 자습서에서는 반복자를 사용하여 요소를 제거하는 방법에 대해 설명합니다.

여기서 우리는 해시맵을 반복하고 모든 값이 제거되었는지 확인하고 값이 일치하면 항목을 제거합니다.

예시

위 접근 방식에 대한 C++ 코드

HashMap을 반복하는 동안 요소 제거

#include<iostream>
#include<map> // for map operations
using namespace std;
int main(){  
    // Creating HashMap.
    map< int, string > fruits;
    // Inserting key-value pair in Hashmap.
    fruits[1]="Mango";
    fruits[2]="Orange";
    fruits[3]="Banana";
    fruits[4]="Apple";
    string value = "Banana";
    // Creating iterator.
    map<int, string>::iterator it ;
    // Printing the initial Hashmap.
    cout<< "HashMap before Deletion:\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;
        // Checking iterator value with required value.
        if(temp.compare(value) == 0){
            // erasing Element.
            fruits.erase(it);

        }
    }
    // Printing Hashmap after deletion.
    cout<< "HashMap After Deletion:\n";
    for (it = fruits.begin(); it!=fruits.end(); ++it)
        cout << it->first << "->" << it->second << endl;
    return 0;
}

출력

HashMap before Deletion:
1->Mango
2->Orange
3->Banana
4->Apple

HashMap After Deletion:
1->Mango
2->Orange
4->Apple

결론

이 자습서에서는 값을 사용하여 HashMap에서 항목을 제거하는 방법에 대해 설명했습니다. 항목을 반복하여 항목을 제거하는 방법에 대해 논의했습니다. 우리는 또한 C, Java, Python 등과 같은 프로그래밍 언어로 할 수 있는 이 문제에 대한 C++ 프로그램에 대해 논의했습니다. 이 튜토리얼이 도움이 되기를 바랍니다.