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

C++-এ সেট ও আনঅর্ডারড সেটের পার্থক্য (Difference between Set and UnorderedSet)


C++-এ Set এবং UnorderedSet উভয়ই ডেটা সংরক্ষণের জন্য অ্যাসোসিয়েটিভ কন্টেইনার। কিন্তু তাদের বৈশিষ্ট্যে পার্থক্য আছে।

মূল পার্থক্যগুলো

ক্রমিক নংবিষয়SetUnorderedSet
1সংজ্ঞাসর্টেড অর্ডারে ডেটা রাখে, ডুপ্লিকেট না।অসর্টেড অর্ডারে ডেটা রাখে, ডুপ্লিকেট না।
2সর্টিংসর্টেড অর্ডার।অসর্টেড অর্ডার।
3ডুপ্লিকেটঅনুমোদিত নয়।অনুমোদিত নয় (ডিসকার্ড হয়)।
4ইমপ্লিমেন্টেশনবাইনারি সার্চ ট্রি (BST)।হ্যাশ টেবিল।

উদাহরণ: 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

উদাহরণ: UnorderedSet

#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
    int data[15] = {11,55,22,66,33,22,11,44,77,88,66,99,66,23,41};
    unordered_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: 55 Item: 22 Item: 66 Item: 33 Item: 44 Item: 77 Item: 88 Item: 99 Item: 23 Item: 41
  1. C++-এ new অপারেটর এবং operator new-এর পার্থক্য কী?

  2. C++-এ 'struct' এবং 'typedef struct'-এর পার্থক্য

  3. C++ স্ট্রিং কনস্ট্যান্ট এবং ক্যারেক্টার কনস্ট্যান্টের পার্থক্য

  4. জাভাতে List এবং Set এর পার্থক্য