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

C++ STL-এ multimap::begin() এবং multimap::end() ফাংশন

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

C++ STL-এ Multimap কী?

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

multimap::begin() কী?

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

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

সিনট্যাক্স

multimap_name.begin();

প্যারামিটার

এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।

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

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

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int main() {
    multimap<int, int> mul;

    // মাল্টিম্যাপে উপাদান ইনসার্ট
    mul.insert({1, 10});
    mul.insert({2, 20});
    mul.insert({3, 30});
    mul.insert({4, 40});
    mul.insert({5, 50});

    // মাল্টিম্যাপে প্রথম পেয়ার ফেচ করা
    auto i = mul.begin();
    cout << "First element in multimap is: ";
    cout << "{" << i->first << ", " << i->second << "}\n";

    // মাল্টিম্যাপ উপাদান ডিসপ্লে
    cout << "\nElements in multimap is: \n";
    cout << "KEY\tELEMENT\n";

    for (auto it = mul.begin(); it != mul.end(); ++it) {
        cout << it->first << '\t' << it->second << '\n';
    }

    return 0;
}

আউটপুট

First element in multimap is: {1, 10}
Elements in multimap is:
KEY    ELEMENT
1      10
2      20
3      30
4      40
5      50

multimap::end() কী?

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

এই ফাংশনটি একটি ইটেরেটর রিটার্ন করে যা কন্টেইনারের শেষ উপাদানের পরবর্তী এলিমেন্টকে নির্দেশ করে। যখন কন্টেইনারে কোনো ভ্যালু নেই তবে ইটেরেটরটি ডিরেফারেন্স করা যায় না।

সাধারণত begin() এবং end() ম্যাপ কন্টেইনারের মাধ্যমে ইটারেট করার জন্য ব্যবহৃত হয় তাদের রেঞ্জ দিয়ে।

সিনট্যাক্স

multimap_name.end();

প্যারামিটার

এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।

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

যদি উপরের কোডটি রান করি তবে নিচের আউটপুট জেনারেট হবে।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int main() {
    multimap<int, int> mul;

    // মাল্টিম্যাপে উপাদান ইনসার্ট
    mul.insert({1, 10});
    mul.insert({2, 20});
    mul.insert({3, 30});
    mul.insert({4, 40});
    mul.insert({5, 50});

    // মাল্টিম্যাপ উপাদান ডিসপ্লে
    cout << "\nElements in multimap is: \n";
    cout << "KEY\tELEMENT\n";

    for (auto it = mul.begin(); it != mul.end(); ++it) {
        cout << it->first << '\t' << it->second << '\n';
    }

    return 0;
}

আউটপুট

Elements in multimap is:
KEY    ELEMENT
1      10
2      20
3      30
4      40
5      50
  1. C++ STL-এ list begin() এবং list end() ফাংশন

  2. C++ STL-এ vector::begin() এবং vector::end()

  3. C++ STL-এ set::begin() এবং set::end()

  4. C++ STL-এ Map এবং Multimap-এ নিম্নক্রমে ডেটা সংরক্ষণ