এই আর্টিকেলে আমরা C++ STL-এ multiset::begin() এবং multiset::end() ফাংশনগুলোর কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ multiset কী?
Multisets হলো সেট কন্টেইনারের মতো কন্টেইনার, অর্থাৎ সেটের মতো একইভাবে নির্দিষ্ট ক্রমে কী হিসেবে মানগুলো সংরক্ষণ করে।
Multiset-এ মানগুলো কী হিসেবে চিহ্নিত করা হয় সেটের মতোই। Multiset এবং সেটের প্রধান পার্থক্য হলো সেটে স্বতন্ত্র কী থাকে, অর্থাৎ দুটি কী একই হতে পারে না, কিন্তু multiset-এ একই কী মান থাকতে পারে।
Multiset কীগুলো বাইনারি সার্চ ট্রি ইমপ্লিমেন্ট করতে ব্যবহৃত হয়।
multiset::begin() কী?
multiset::begin() ফাংশন C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <set> হেডার ফাইলে ডিফাইন করা আছে।
এই ফাংশনটি একটি ইটেরেটর রিটার্ন করে যা multiset কন্টেইনারের প্রথম এলিমেন্টকে নির্দেশ করে।
যেহেতু multiset কন্টেইনার মানগুলো আরোহী ক্রমে সংরক্ষণ করে, begin() সেই এলিমেন্টকে নির্দেশ করে যা সর্টিং ক্রাইটেরিয়ার অনুযায়ী কন্টেইনারের প্রথম এলিমেন্ট।
সিনট্যাক্স
ms_name.begin();
প্যারামিটারস
ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন ভ্যালু
এই ফাংশন এটি সাথে সংশ্লিষ্ট multiset কন্টেইনারের প্রথম এলিমেন্টকে নির্দেশকারী একটি ইটেরেটর রিটার্ন করে।
উদাহরণ
Input: std::multiset<int> mymultiset = {1, 2, 2, 3, 4}; mymultiset.begin(); Output: 1
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main() {
int arr[] = {2, 4, 1, 3, 8, 5, 6};
multiset<int> check(arr, arr + 7);
cout<<"List is : ";
for (auto i = check.begin(); i != check.end(); i++)
cout << *i << " ";
cout<<"\nStarting Element is : "<<*(check.begin());
return 0;
}
আউটপুট
List is : 1 2 3 4 5 6 8 Starting Element is : 1
multiset::end() কী?
multiset::end() ফাংশন C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <set> হেডার ফাইলে ডিফাইন করা আছে।
এই ফাংশনটি একটি ইটেরেটর রিটার্ন করে যা multiset কন্টেইনারের শেষ পজিশনের পেছনে নির্দেশ করে।
পাস্ট-টু-এন্ড এলিমেন্ট হলোवह এলিমেন্ট যা multiset কন্টেইনারের শেষ এলিমেন্টের পর থাকে। সংক্ষেপে এটি multiset কন্টেইনারের কোনো নির্দিষ্ট এলিমেন্টকে নির্দেশ করে না। এই ফাংশনটি সাধারণত begin()-এর সাথে multiset কন্টেইনারের রেঞ্জ দেওয়ার জন্য ব্যবহৃত হয়।
সিনট্যাক্স
ms_name.end();
প্যারামিটারস
ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন ভ্যালু
এই ফাংশন এটি সাথে সংশ্লিষ্ট multiset কন্টেইনারের পাস্ট-দ-এন্ড এলিমেন্টকে নির্দেশকারী একটি ইটেরেটর রিটার্ন করে।
উদাহরণ
Input: std::multiset<int> mymultiset = {1, 2, 2, 3, 4}; for( std::multiset<int>::iterator it=mymultiset.begin(); it!=mymultiset.end(); ++it ) Output: 1 2 2 3 4
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main() {
int arr[] = {2, 4, 1, 3, 8, 5, 6};
multiset<int> check(arr, arr + 7);
cout<<"List is : ";
for (auto i = check.begin(); i != check.end(); i++)
cout << *i << " ";
return 0;
}
আউটপুট
List is : 1 2 3 4 5 6 8