কম্পিউটার

C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরিতে মাল্টিসেট (STL)


এই টিউটোরিয়ালে, আমরা C++ STL (স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি) এ মাল্টিসেট বোঝার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।

মাল্টিসেট হল অ্যাসোসিয়েটিভ কন্টেইনারগুলি অনেকটা সেটের মতো। মাল্টিসেটের একটি পার্থক্য হল তারা এমনকি ডুপ্লিকেট মানও ধারণ করতে পারে।

উদাহরণ

#include <iostream>
#include <set>
#include <iterator>
using namespace std;
int main(){
   multiset <int, greater <int> > gquiz1;
   //inserting values
   gquiz1.insert(40);
   gquiz1.insert(30);
   gquiz1.insert(60);
   gquiz1.insert(20);
   gquiz1.insert(50);
   gquiz1.insert(50);
   gquiz1.insert(10);
   multiset <int, greater <int> > :: iterator itr;
   cout << "\nThe multiset gquiz1 is : ";
   for (itr = gquiz1.begin(); itr != gquiz1.end(); ++itr)
   {
      cout << '\t' << *itr;
   }
   cout << endl;
   multiset <int> gquiz2(gquiz1.begin(), gquiz1.end());
   cout << "\nThe multiset gquiz2 after assign from gquiz1 is : ";
   for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr)
   {
      cout << '\t' << *itr;
   }
   cout << endl;
   cout << "\ngquiz2 after removal of elements less than 30 : ";
   gquiz2.erase(gquiz2.begin(), gquiz2.find(30));
   for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr)
   {
      cout << '\t' << *itr;
   }

   int num;
   num = gquiz2.erase(50);
   cout << "\ngquiz2.erase(50) : ";
   cout << num << " removed \t" ;
   for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr)
   {
      cout << '\t' << *itr;
   }
   cout << endl;
   cout << "gquiz1.lower_bound(40) : "<< *gquiz1.lower_bound(40) << endl;
   cout << "gquiz1.upper_bound(40) : "<< *gquiz1.upper_bound(40) << endl;
   cout << "gquiz2.lower_bound(40) : "<< *gquiz2.lower_bound(40) << endl;
   cout << "gquiz2.upper_bound(40) : "<< *gquiz2.upper_bound(40) << endl;
   return 0;
}

আউটপুট

The multiset gquiz1 is : 60505040302010

The multiset gquiz2 after assign from gquiz1 is : 10203040505060

gquiz2 after removal of elements less than 30 : 3040505060
gquiz2.erase(50) : 2 removed 304060
gquiz1.lower_bound(40) : 40
gquiz1.upper_bound(40) : 30
gquiz2.lower_bound(40) : 40
gquiz2.upper_bound(40) : 60

  1. C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরিতে (STL) অগ্রাধিকার সারি

  2. C++ স্ট্যান্ডার্ড লাইব্রেরি হেডার ফাইল

  3. সি++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি (STL)

  4. C++ এ স্ট্যান্ডার্ড লাইব্রেরি কি?