কম্পিউটার টিউটোরিয়াল

C++ হ্যাশম্যাপ থেকে ভ্যালু ব্যবহার করে এন্ট্রি রিমুভ করুন ইটারেশন করার সময়


হ্যাশম্যাপ (HashMap) থেকে ভ্যালু (value) ব্যবহার করে একটি এন্ট্রি (entry) কীভাবে রিমুভ করতে হয় যখন আমরা সেটির ওপর ইটারেট (iterate) করছি, তা আলোচনা করব। উদাহরণস্বরূপ:

Input: HashMap: { 1: " Mango ", 2: " Orange ", 3: " Banana ", 4: "Apple " }, value="Banana" Output: HashMap: { 1: " Mango ", 2: " Orange ", 4: "Apple " }. Explanation: তৃতীয় key-value pair "banana" ভ্যালু ব্যবহার করে রিমুভ করা হয়েছে। Input: HashMap: { 1: "Yellow", 2: "White", 3: "Green" }, value="White" Output: HashMap: { 1: "Yellow", 3: "Green" }.

সমাধানের পদ্ধতি

C++-এ, আমরা .erase() ফাংশন ব্যবহার করে এলিমেন্ট রিমুভ করতে পারি। erase() ফাংশন থেকে আমরা কী নেম (key name) বা ইটারেটর (iterator) ব্যবহার করে এলিমেন্ট রিমুভ করতে পারি। এই টিউটোরিয়ালে, আমরা ইটারেটর ব্যবহার করে এলিমেন্ট রিমুভ করার কথা আলোচনা করব।

এখানে আমরা হ্যাশম্যাপের মাধ্যমে ইটারেট করব এবং চেক করব প্রতিটি ভ্যালু রিমুভ করা উচিত কিনা এবং ভ্যালু ম্যাচ হলে এন্ট্রি রিমুভ করব।

উদাহরণ

উপরোক্ত পদ্ধতির জন্য C++ কোড

হ্যাশম্যাপের ওপর ইটারেট করার সময় এলিমেন্ট রিমুভ করুন

 #include<iostream> #include<map> // ম্যাপ অপারেশনের জন্য using namespace std; int main(){       // হ্যাশম্যাপ তৈরি।     map< int, string > fruits;     // হ্যাশম্যাপে key-value pair ইনসার্ট করুন।     fruits[1]="Mango";     fruits[2]="Orange";     fruits[3]="Banana";     fruits[4]="Apple";     string value = "Banana";     // ইটারেটর তৈরি।     map<int, string>::iterator it ;     // প্রাথমিক হ্যাশম্যাপ প্রিন্ট করুন।     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;         // ইটারেটর ভ্যালু রিকোয়ার্ড ভ্যালুদের সাথে চেক করুন।         if(temp.compare(value) == 0){             // এলিমেন্ট ইরেজ (erase) করুন।             fruits.erase(it);         }     }     // ডিলিশন পরের হ্যাশম্যাপ প্রিন্ট করুন।     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 ইত্যাদি প্রোগ্রামিং ভাষায়ও করতে পারি। আশা করি আপনি এই টিউটোরিয়ালটিকে উপকারী পাবেন।


  1. C++-এ স্ট্রিংর ট্রেলিং জিরো রিমুভ করা

  2. C++-এ std::string থেকে স্পেস রিমুভ করা

  3. C++-এ পাওয়ার (pow) ফাংশন লিখুন

  4. জাভা প্রোগ্রাম: HashMap-এ মান দিয়ে কী বের করা