C++-এ Set এবং MultiSet উভয়ই সর্টেড অ্যাসোসিয়েটিভ কন্টেইনার। মূল পার্থক্য হলো ডুপ্লিকেট হ্যান্ডলিং।
মূল পার্থক্যগুলো
| ক্রমিক নং | বিষয় | Set | MultiSet |
|---|---|---|---|
| 1 | সংজ্ঞা | শুধু ইউনিক কী রাখে। | ডুপ্লিকেট কী রাখতে পারে। |
| 2 | সর্টিং | সর্টেড অর্ডার। | সর্টেড অর্ডার। |
| 3 | ডুপ্লিকেট মান | অনুমোদিত নয়। | অনুমোদিত। |
| 4 | ম্যানিপুলেশন | ইনসার্ট/ডিলিট mogelijk, মান পরিবর্তন নয়। | ইনসার্ট/ডিলিট সম্ভব, মান পরিবর্তন নয়। |
উদাহরণ: Set
#include <iostream>
#include <set>
using namespace std;
int main() {
int data[15] = {11,55,22,66,33,22,11,44,77,88,66,99,66,23,41};
set<int> my_set;
for (int i=0;i<15;i++) my_set.insert(data[i]);
for (auto it=my_set.begin(); it!=my_set.end(); it++)
cout << "Item: " << *it << endl;
return 0;
}
আউটপুট
Item: 11 Item: 22 Item: 23 Item: 33 Item: 41 Item: 44 Item: 55 Item: 66 Item: 77 Item: 88 Item: 99
উদাহরণ: MultiSet
#include <iostream>
#include <set>
using namespace std;
int main() {
int data[15] = {11,55,22,66,33,22,11,44,77,88,66,99,66,23,41};
multiset<int> my_set;
for (int i=0;i<15;i++) my_set.insert(data[i]);
for (auto it=my_set.begin(); it!=my_set.end(); it++)
cout << "Item: " << *it << endl;
return 0;
}
আউটপুট (ডুপ্লিকেট সহ)
Item: 11 Item: 11 Item: 22 Item: 22 Item: 23 Item: 33 Item: 41 Item: 44 Item: 55 Item: 66 Item: 66 Item: 66 Item: 77 Item: 88 Item: 99