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

C++ STL-এ multiset crbegin() এবং crend() ফাংশন


এই আর্টিকেলে C++ STL-এ multiset::crbegin() এবং multiset::crend() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ আলোচনা করা হয়েছে।

C++ STL-এ multiset কী?

Multiset সেট কন্টেইনারের মতো একটি কন্টেইনার যা মানগুলো কি (key) রূপে একটি নির্দিষ্ট অর্ডারে সংরক্ষণ করে।

Multiset-এ মানগুলো সেটের মতো কি হিসেবে চিহ্নিত হয়। Multiset এবং সেটের প্রধান পার্থক্য হলো সেটে সব কি আলাদা থাকে (কোনো দুটি কি একসমান নয়), কিন্তু multiset-এ একই মানের কি থাকতে পারে।

Multiset কি বাইনারি সার্চ ট্রি বাস্তবায়ন করতে ব্যবহৃত হয়।

multiset::crbegin() কী?

multiset::crbegin() C++ STL-এ একটি বিল্ট-ইন ফাংশন যা <set> হেডার ফাইলে সংজ্ঞায়িত। crbegin() মানে কনস্ট্যান্ট রিভার্স বIGIN ফাংশন, অর্থাৎ এই ফাংশন মাল্টিসেট কন্টেইনারের শেষ এলিমেন্ট নির্দেশকারী একটি কনস্ট্যান্ট ইটারেটর রিটার্ন করে। এই ফাংশন multiset::cbegin()-র রিভার্স ভার্সন।

কনস্ট্যান্ট ইটারেটর শুধু মাল্টিসেট কন্টেইনারের মাধ্যমে ইটারেট করতে ব্যবহৃত হয়, এটি মাল্টিসেট কন্টেইনারে কোনো পরিবর্তন আনতে পারে না।

সিনট্যাক্স

ms_name.crbegin();

প্যারামিটার

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

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

এই ফাংশন কন্টেইনারের শেষ এলিমেন্ট নির্দেশকারী একটি কনস্ট্যান্ট ইটারেটর রিটার্ন করে।

উদাহরণ

ইনপুট

std::multiset<int> mymultiset = {1, 2, 2, 3, 4}; mymultiset.crbegin();

আউটপুট

4

উদাহরণ

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

int main() {
    int arr[] = {10, 20, 30, 40, 50, 60};
    multiset check(arr, arr + 6);
    cout << "First element fetched using crbegin() function: " << *(check.crbegin()) << endl;
    for(auto i = check.crbegin(); i != check.crend(); i++)
        cout << *i << " ";
    return 0;
}

আউটপুট

First element fetched using crbegin() function: 60
60 50 40 30 20 10

multiset::crend() কী?

multiset::crend() C++ STL-এ একটি বিল্ট-ইন ফাংশন যা <set> হেডার ফাইলে সংজ্ঞায়িত। crend() মানে কনস্ট্যান্ট এন্ড ফাংশন, অর্থাৎ এই ফাংশন মাল্টিসেট কন্টেইনারের প্রথম এলিমেন্টের পূর্ববর্তী এলিমেন্ট নির্দেশকারী একটি কনস্ট্যান্ট ইটারেটর রিটার্ন করে। এটি cend()-র রিভার্স ভার্সন।

কনস্ট্যান্ট ইটারেটর শুধু মাল্টিসেট কন্টেইনারের মাধ্যমে ইটারেট করতে ব্যবহৃত হয়, এটি মাল্টিসেট কন্টেইনারে কোনো পরিবর্তন আনতে পারে না।

সিনট্যাক্স

ms_name.crend();

প্যারামিটার

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

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

এই ফাংশন কন্টেইনারের প্রথম এলিমেন্টের পূর্ববর্তী এলিমেন্ট নির্দেশকারী একটি কনস্ট্যান্ট ইটারেটর রিটার্ন করে।

উদাহরণ

ইনপুট

std::multiset<int> mymultiset = {1, 2, 2, 3, 4}; mymultiset.crend();

আউটপুট

error

উদাহরণ

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

int main() {
    int arr[] = {10, 20, 30, 40, 50, 60};
    multiset check(arr, arr + 6);
    cout << "Elements in the list are: ";
    for(auto i = check.crbegin(); i != check.crend(); i++)
        cout << *i << " ";
    return 0;
}

আউটপুট

Elements in the list are: 60 50 40 30 20 10

  1. C++ STL-এ atan2() ফাংশন

  2. C++ STL-এ acos() ফাংশন

  3. C++ STL-এ asinh() ফাংশন

  4. C++ STL-এ acosh() ফাংশন