Advertisement
Shuva_Dev

Everything about set

Dec 16th, 2022 (edited)
541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.39 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     /// Declaration of set of integers
  7.     set<int> s = { 1, 1, 2, 1, 3 };
  8.  
  9.     /// Printing size and elements
  10.     cout << s.size() << endl;
  11.     for ( auto u : s ) cout << u << " "; /// 1 2 3
  12.     cout << endl;
  13.  
  14.     set<int>:: iterator it;
  15.     for ( it = s.begin(); it != s.end(); it++ ) cout << *it << " "; /// 1 2 3
  16.     cout << endl;
  17.  
  18.     /// clearing and checking is empty set
  19.     s.clear();
  20.     cout << s.empty() << endl; /// 1
  21.  
  22.     /// inserting in set
  23.     s.insert ( 1 );
  24.     s.insert ( 1 );
  25.     s.insert ( 1 );
  26.     s.insert ( 2 );
  27.     s.insert ( 1 );
  28.     s.insert ( 3 );
  29.  
  30.     cout << s.size() << endl; /// 3
  31.     for ( auto u : s ) cout << u << " "; /// 1 2 3
  32.     cout << endl;
  33.  
  34.     /// checking is specific element is in a set
  35.     cout << s.count ( 2 ) << endl; /// 1
  36.     cout << s.count ( 4 ) << endl; /// 0
  37.  
  38.  
  39.     /// Front element in set
  40.     cout << *s.begin() << endl; /// 1
  41.  
  42.     /// Last element in set
  43.     cout << *(--s.end()) << endl; /// 3
  44.     cout << *s.rbegin() << endl; /// 3
  45.  
  46.  
  47.     /// Erase an element;
  48.  
  49.     s = { 1, 2, 3, 4, 5, 6 };
  50.  
  51.     s.erase ( 2 );
  52.     cout << s.size() << endl; /// 5
  53.     for ( auto u : s ) cout << u << " "; /// 1 3 4 5 6
  54.     cout << endl;
  55.  
  56.     s.erase ( 10 );
  57.     cout << s.size() << endl; /// 5
  58.     for ( auto u : s ) cout << u << " "; /// 1 3 4 5 6
  59.     cout << endl;
  60.  
  61.  
  62.     /// Erasing front element in set
  63.  
  64.     s = { 1, 2, 3, 4, 5, 6 };
  65.  
  66.     s.erase ( s.begin() );
  67.     cout << s.size() << endl; /// 5
  68.     for ( auto u : s ) cout << u << " "; /// 2 3 4 5 6
  69.     cout << endl;
  70.  
  71.     /// Erasing back element in set
  72.  
  73.     s = { 1, 2, 3, 4, 5, 6 };
  74.  
  75.     s.erase ( --s.end() );
  76.     cout << s.size() << endl; /// 5
  77.     for ( auto u : s ) cout << u << " "; /// 1 2 3 4 5
  78.     cout << endl;
  79.  
  80.  
  81.     /// set of pair
  82.     set<pair<int, int>> s1;
  83.  
  84.     s1.insert ( { 1, 2 } );
  85.     s1.insert ( { 1, 2 } );
  86.     s1.insert ( { 4, 2 } );
  87.     s1.insert ( { 4, 3 } );
  88.     s1.insert ( { 2, 2 } );
  89.     s1.insert ( { 2, 1 } );
  90.  
  91.     /**
  92.  
  93.     Output :
  94.  
  95.     5
  96.     1 2
  97.     2 1
  98.     2 2
  99.     4 2
  100.     4 3
  101.  
  102.     */
  103.  
  104.     cout << s1.size() << endl;
  105.     for ( auto u : s1 ) cout << u.first << " " << u.second << endl;
  106.  
  107.     /// Set of string
  108.  
  109.     set<string> s2;
  110.  
  111.     s2.insert ( "shuva" );
  112.     s2.insert ( "nishan" );
  113.     s2.insert ( "nibir" );
  114.     s2.insert ( "prety" );
  115.     s2.insert ( "pranto" );
  116.     s2.insert ( "nobel" );
  117.     s2.insert ( "asmaul" );
  118.     s2.insert ( "proma" );
  119.  
  120.     cout << s2.size() << endl;
  121.     for ( auto u : s2 ) cout << u << endl;
  122.  
  123.     /// set in discanding order
  124.     set<int, greater<int>> s3 = {3, 4, 1, 2};
  125.     for ( auto u : s3 ) cout << u << " "; /// 4 3 2 1
  126.     cout << endl;
  127.  
  128.  
  129.     set<string, greater<string>> s4;
  130.  
  131.     s4.insert ( "momo" );
  132.     s4.insert ( "momo" );
  133.     s4.insert ( "prety" );
  134.     s4.insert ( "prety" );
  135.     s4.insert ( "shahriar" );
  136.     s4.insert ( "nobel" );
  137.     s4.insert ( "sharif" );
  138.     s4.insert ( "proma" );
  139.  
  140.     cout << s4.size() << endl;
  141.     for ( auto u : s4 ) cout << u << endl;
  142.  
  143.     /**
  144.     Output :
  145.  
  146.     6
  147.     sharif
  148.     shahriar
  149.     proma
  150.     prety
  151.     nobel
  152.     momo
  153.  
  154.     */
  155.  
  156.     set<pair<int, int>, greater<pair<int,int>>> s5;
  157.  
  158.     s5.insert ( { 1, 2 } );
  159.     s5.insert ( { 1, 2 } );
  160.     s5.insert ( { 4, 2 } );
  161.     s5.insert ( { 4, 3 } );
  162.     s5.insert ( { 2, 2 } );
  163.     s5.insert ( { 2, 1 } );
  164.  
  165.  
  166.     cout << s5.size() << endl;
  167.     for ( auto u : s5 ) cout << u.first << " " << u.second << endl;
  168.  
  169.     /**
  170.  
  171.     Output :
  172.     5
  173.     4 3
  174.     4 2
  175.     2 2
  176.     2 1
  177.     1 2
  178.  
  179.     */
  180.  
  181.  
  182.     return 0;
  183. }
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement