এই আর্টিকেলে 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