Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ मानक टेम्पलेट लाइब्रेरी (एसटीएल) में मल्टीसेट

इस ट्यूटोरियल में, हम 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. सी ++ मानक टेम्पलेट लाइब्रेरी (एसटीएल) में प्राथमिकता कतार

    प्राथमिकता कतार प्राथमिकता वाले तत्वों के संग्रह को संग्रहीत करने के लिए एक सार डेटा प्रकार है जो किसी तत्व को उनकी प्राथमिकताओं के आधार पर सम्मिलित करने और हटाने का समर्थन करता है, अर्थात, पहली प्राथमिकता वाले तत्व को किसी भी समय हटाया जा सकता है। प्राथमिकता कतार तत्वों को उनके स्थान जैसे स्टैक, कत

  1. सी ++ मानक टेम्पलेट लाइब्रेरी (एसटीएल)

    मानक टेम्पलेट लाइब्रेरी C++ प्रोग्रामिंग भाषा के लिए एक सॉफ्टवेयर लाइब्रेरी है जिसने C++ मानक लाइब्रेरी के कई हिस्सों को प्रभावित किया है। यह एल्गोरिदम, कंटेनर, फ़ंक्शन और इटरेटर नामक चार घटक प्रदान करता है। ध्यान दें कि STL या स्टैंडर्ड टेम्प्लेट लाइब्रेरी शब्द ISO 14882 C++ मानक में कहीं भी दिखाई

  1. C++ में मानक पुस्तकालय क्या हैं?

    C++ प्रोग्रामिंग भाषा में, C++ मानक पुस्तकालय कक्षाओं और कार्यों का एक संग्रह है, जो मूल भाषा और स्वयं C++ ISO मानक के हिस्से में लिखे गए हैं। सी ++ मानक पुस्तकालय कई सामान्य कंटेनर प्रदान करता है, इन कंटेनरों का उपयोग और हेरफेर करने के लिए कार्य करता है, फ़ंक्शन ऑब्जेक्ट्स, जेनेरिक स्ट्रिंग्स और स्