Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

C ++ ลบรายการโดยใช้ค่าจาก HashMap ขณะวนซ้ำ It


อภิปรายวิธีการลบรายการออกจาก 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() เราสามารถลบองค์ประกอบโดยใช้ชื่อคีย์หรือใช้ตัววนซ้ำ ในบทช่วยสอนนี้ เราจะพูดถึงการลบองค์ประกอบโดยใช้ตัววนซ้ำ

ที่นี่เราจะทำซ้ำผ่าน hashmap และตรวจสอบว่าทุกค่าถูกลบและลบรายการเมื่อค่าตรงกันหรือไม่

ตัวอย่าง

รหัส 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++ สำหรับปัญหานี้ ซึ่งเราสามารถทำได้ด้วยภาษาโปรแกรม เช่น C, Java, Python เป็นต้น เราหวังว่าคุณจะพบว่าบทช่วยสอนนี้มีประโยชน์