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

C++ STL-এ multimap::erase() ফাংশন

এই লেখায় আমরা C++ STL-এ multimap::erase() ফাংশনের কাজ করার পদ্ধতি, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।

C++ STL-এ Multimap কী?

Multimap হল একটি অ্যাসোসিয়েটিভ কন্টেইনার যা ম্যাপ কন্টেইনারের মতো। এটি কী-ভ্যালু জোড়া হিসেবে উপাদান সংরক্ষণ করে নির্দিষ্ট ক্রমে। একটি মাল্টিম্যাপ কন্টেইনারে একই কী-এর সাথে একাধিক উপাদান থাকতে পারে। ডেটা অভ্যন্তরীণভাবে সংশ্লিষ্ট কী-هاর সাহায্যে সর্টেড থাকে।

multimap::erase() কী?

multimap::erase() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <map> হেডার ফাইলে সংজ্ঞায়িত। erase() মাল্টিম্যাপ কন্টেইনার থেকে উপাদান রিমুভ বা ইরেজ করতে ব্যবহৃত হয়।

এই ফাংশন উপাদানগুলো তাদের কী, পজিশন বা দেওয়া রেঞ্জ দিয়ে রিমুভ বা ইরেজ করতে পারে। যখন এই ফাংশনটি রান করানো হয়, মাল্টিম্যাপ কন্টেইনারের সাইজ রিমুভ করা উপাদান সংখ্যা অনুযায়ী কমে যায়।

সিনট্যাক্স

multimap_name.erase(key_type key);
multimap_name.erase(const_iterator it);
multimap_name.erase(const_iterator start, const_iterator end);

প্যারামিটার

  • key — এটি সেই কী-র পজিশন যার উপাদানগুলো আমরা রিমুভ করতে চাই।
  • it — ইটেরেটর পজিশন যেখানে থেকে আমরা উপাদানগুলো রিমুভ করতে চাই।
  • start, end — এটি সেই রেঞ্জ ডিফাইন করে কোন পজিশন থেকে কোন পজিশন পর্যন্ত উপাদান সেট রিমুভ করা উচিত।

রিটার্ন ভ্যালু

এই ফাংশন সংশ্লিষ্ট কন্টেইনার থেকে রিমুভ করা উপাদান সংখ্যা রিটার্ন করে।

উদাহরণ ১: একটি নির্দিষ্ট কী ইরেজ করা

#include <iostream>
#include <map>
using namespace std;

int main() {
    multimap<int, char> mul_1;

    // ইটেরেটর ডিক্লেয়ার করা
    multimap<int, char>::iterator i;

    // মাল্টিম্যাপ১-এ উপাদান ইনসার্ট
    mul_1.insert(make_pair(0, 'a'));
    mul_1.insert(make_pair(1, 'b'));
    mul_1.insert(make_pair(2, 'c'));
    mul_1.insert(make_pair(3, 'd'));
    mul_1.insert(make_pair(4, 'e'));
    mul_1.insert(make_pair(5, 'f'));
    mul_1.insert(make_pair(6, 'g'));

    // erase() কল করে এলিমেন্ট ডিলিট
    mul_1.erase(1);
    mul_1.erase(4);
    mul_1.erase(6);
    mul_1.erase(5);

    // মাল্টিম্যাপ১-এর উপাদান
    cout << "Elements in multimap1 are: " << "\n";
    for (i = mul_1.begin(); i != mul_1.end(); i++) {
        cout << (*i).first << " " << (*i).second << "\n";
    }

    return 0;
}

আউটপুট

Elements in multimap1 are:
0 a
2 c
3 d

উদাহরণ ২: একটি নির্দিষ্ট রেঞ্জের মধ্যে এলিমেন্ট ইরেজ করা

#include <iostream>
#include <map>
using namespace std;

int main() {
    multimap<int, char> mul_1;
    multimap<int, char>::iterator i;

    // মাল্টিম্যাপ১-এ উপাদান ইনসার্ট
    mul_1.insert(make_pair(0, 'a'));
    mul_1.insert(make_pair(1, 'b'));
    mul_1.insert(make_pair(2, 'c'));
    mul_1.insert(make_pair(3, 'd'));
    mul_1.insert(make_pair(4, 'e'));
    mul_1.insert(make_pair(5, 'f'));
    mul_1.insert(make_pair(6, 'g'));

    // ইরেজ করার আগে মাল্টিম্যাপে উপাদান
    cout << "Elements in multimap1 are: " << "\n";
    for (i = mul_1.begin(); i != mul_1.end(); i++) {
        cout << (*i).first << " " << (*i).second << "\n";
    }

    // erase() কল করে এলিমেন্ট ডিলিট
    auto start = mul_1.find(3);
    auto end = mul_1.find(6);
    mul_1.erase(start, end);

    // ইরেজ করার পর মাল্টিম্যাপ১-এর উপাদান
    cout << "Elements in multimap1 are: " << "\n";
    for (i = mul_1.begin(); i != mul_1.end(); i++) {
        cout << (*i).first << " " << (*i).second << "\n";
    }

    return 0;
}

আউটপুট

Elements in multimap1 are:
0 a
1 b
2 c
3 d
4 e
5 f
6 g
Elements in multimap1 are:
0 a
1 b
2 c
6 g

উদাহরণ ৩: নির্দিষ্ট পজিশনে উপাদান ইরেজ করা

#include <iostream>
#include <map>
using namespace std;

int main() {
    multimap<int, char> mul_1;
    multimap<int, char>::iterator i;

    // মাল্টিম্যাপ১-এ উপাদান ইনসার্ট
    mul_1.insert(make_pair(0, 'a'));
    mul_1.insert(make_pair(1, 'b'));
    mul_1.insert(make_pair(2, 'c'));
    mul_1.insert(make_pair(3, 'd'));
    mul_1.insert(make_pair(4, 'e'));
    mul_1.insert(make_pair(5, 'f'));
    mul_1.insert(make_pair(6, 'g'));

    // ইরেজ করার আগে মাল্টিম্যাপে উপাদান
    cout << "Elements in multimap1 are: " << "\n";
    for (i = mul_1.begin(); i != mul_1.end(); i++) {
        cout << (*i).first << " " << (*i).second << "\n";
    }

    // erase() কল করে এলিমেন্ট ডিলিট
    auto first = mul_1.find(1);
    mul_1.erase(first);
    auto second = mul_1.find(6);
    mul_1.erase(second);
    auto third = mul_1.find(2);
    mul_1.erase(third);

    // ইরেজ করার পর মাল্টিম্যাপ১-এর উপাদান
    cout << "Elements in multimap1 are: " << "\n";
    for (i = mul_1.begin(); i != mul_1.end(); i++) {
        cout << (*i).first << " " << (*i).second << "\n";
    }

    return 0;
}

আউটপুট

Elements in multimap1 are:
0 a
1 b
2 c
3 d
4 e
5 f
6 g
Elements in multimap1 are:
0 a
3 d
4 e
5 f
  1. C++ STL-এ multimap::operator= (এসাইনমেন্ট অপারেটর)

  2. C++ STL-এ multimap::swap() ফাংশন (পুনরাবৃত্তি)

  3. C++ STL-এ map::erase() ফাংশন

  4. C++ STL-এ Multimap বাস্তবায়ন: একই কীয়ের অধীনে একাধিক মান