C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

STLにマルチセットを実装するC++プログラム


マルチセットは、複数の要素が同じ値を持つことができる連想コンテナの一種です。

機能と説明:

Functions are used here:
   ms.size() = Returns the size of multiset.
   ms.insert) = It is used to insert elements to the multiset.
   ms.erase() = Removes the value from the multiset.
   ms.find() = Returns an iterator to the search element in the multiset if found,
   else returns the iterator to end.
   ms.count() = Returns the number of matches element in the multiset.
   ms.begin() = Returns an iterator to the first element in the multiset.
   ms.end() = Returns an iterator to the last element in the multiset

サンプルコード

#include<iostream>
#include <set>
#include <string>
#include <cstdlib>
using namespace std;
int main() {
   multiset<int> ms;
   multiset<int>::iterator it, it1;
   int c, i;
   while (1) {
      cout<<"1.Size of the Multiset"<<endl;
      cout<<"2.Insert Element into the Multiset"<<endl;
      cout<<"3.Delete Element from the Multiset"<<endl;
      cout<<"4.Find Element in a Multiset"<<endl;
      cout<<"5.Count Elements with a specific key"<<endl;
      cout<<"6.Display Multiset"<<endl;
      cout<<"7.Exit"<<endl;
      cout<<"Enter your Choice: ";
      cin>>c;
      switch(c) {
         case 1:
            cout<<"Size of the Multiset: "<<ms.size()<<endl;
         break;
         case 2:
            cout<<"Enter value to be inserted: ";
            cin>>i;
            if (ms.empty())
               it1 = ms.insert(i);
            else
               it1 = ms.insert(it1, i);
         break;
         case 3:
            cout<<"Enter value to be deleted: ";
            cin>>i;
            ms.erase(i);
         break;
         case 4:
            cout<<"Enter element to find ";
            cin>>i;
            it = ms.find(i);
            if (it != ms.end())
               cout<<"Element found"<<endl;
            else
               cout<<"Element not found"<<endl;
         break;
         case 5:
            cout<<"Enter element to be counted: ";
            cin>>i;
            cout<<i<<" appears "<<ms.count(i)<<" times."<<endl;
         break;
         case 6:
            cout<<"Elements of the Multiset: ";
            for (it = ms.begin(); it != ms.end(); it++)
               cout<<*it<<" ";
            cout<<endl;
         break;
         case 7:
            exit(1);
         break;
         default:
            cout<<"Wrong Choice"<<endl;
      }
   }
   return 0;
}

出力

1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 1
Size of the Multiset: 0
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 2
Enter value to be inserted: 1
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 2
Enter value to be inserted: 2
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 2
Enter value to be inserted: 3
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 2
Enter value to be inserted: 4
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 6
Elements of the Multiset: 1 2 3 4
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 3
Enter value to be deleted: 4
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 4
Enter element to find 1
Element found
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 5
Enter element to be counted: 2
2 appears 1 times.
1.Size of the Multiset
2.Insert Element into the Multiset
3.Delete Element from the Multiset
4.Find Element in a Multiset
5.Count Elements with a specific key
6.Display Multiset
7.Exit
Enter your Choice: 7
Exit code: 1

  1. STLにSet_Intersectionを実装するC++プログラム

    2つのセットの共通部分は、両方のセットに共通する要素によってのみ形成されます。関数によってコピーされる要素は、常に同じ順序で最初のセットから取得されます。両方のセットの要素はすでに注文されている必要があります。 一般的な集合演算は-です セットユニオン 交差点を設定 対称集合の差または排他的論理和 差または減算を設定 アルゴリズム Begin    Declare set vector v and iterator st.    Initialize st = set_intersection (set1, set1 + n, set2, s

  2. STLにSet_Differenceを実装するC++プログラム

    2つのセットの違いは、2番目のセットではなく、最初のセットに存在する要素によってのみ形成されます。関数によってコピーされる要素は、常に同じ順序で最初のセットから取得されます。両方のセットの要素はすでに注文されている必要があります。 一般的な集合演算は-です セットユニオン 交差点を設定 対称集合の差または排他的論理和 差または減算を設定 アルゴリズム Begin    Declare set vector v and iterator st.    Initialize st = set_difference (set1, set1 + n,