• set


     1 #include <iostream>
     2 #include <cstdio>
     3 #include <set>
     4 using namespace std;
     5 #define N 5
     6 
     7 void ps(set<int> s)
     8 {
     9     set<int>::iterator i;
    10     for (i=s.begin();i!=s.end();i++)
    11     {
    12         printf("%3d",*i);
    13     }
    14     printf("
    ");
    15 }
    16 
    17 int main()
    18 {
    19     int i;
    20     set<int> s;
    21     for (i=0;i<N;i++)//set不会重复插入 
    22     {
    23         s.insert(i);
    24         s.insert(i);
    25     }
    26     ps(s);
    27     
    28     s.clear();
    29     printf("%d
    ",s.empty()); 
    30     printf("%d
    ",s.size());
    31     printf("%d
    ",s.max_size());
    32     
    33     for (i=0;i<N;i++)//set不会重复插入 
    34     {
    35         s.insert(i);
    36     }
    37     ps(s);
    38     
    39 //    set<int>::iterator ii;
    40 //    ii=s.rbegin();
    41 //    printf("%d",*ii);
    42     
    43     printf("%d  %d
    ",s.count(1),s.count(5));//查找该值出现次数
    44     
    45     set<int>::iterator ii;
    46     ii=s.begin();
    47     s.erase(ii);//erase(iterator)  ,删除定位器iterator指向的值
    48     ps(s);
    49     s.erase(3);//erase(key_value),删除键值key_value的值
    50     ps(s);
    51     ii=s.end();
    52     ii--;
    53     s.erase(s.begin(),ii);//erase(first,second),删除定位器first和second之间的值
    54     ps(s); 
    55         
    56     ii=s.find(4);//find()  ,返回给定值值得定位器,如果没找到则返回end()
    57     printf("%d
    ",*ii);
    58     
    59     pair<set<int>::iterator,bool> p;
    60     p=s.insert(3);
    61     printf("%d %d
    ",*p.first,p.second);
    62     
    63     int a[]={0,1,2,5,6};
    64     s.insert(a,a+5);
    65     ps(s);//insert(first,second)将定位器间的元素插入Set,返回void
    66     
    67     printf("%d  %d
    ",*s.lower_bound(3), *s.upper_bound(3)); //?
    68     
    69 //    struct st
    70 //    {
    71 //        int id;
    72 //        char c;
    73 //        
    74 //        bool rank(struct st x,struct st y)
    75 //        {
    76 //            
    77 //        }
    78 //    };
    79 //    set<int,st> s1;
    80     
    81     
    82     return 0;
    83 } 
  • 相关阅读:
    C# WinForm 中 MessageBox的使用详解
    C#中MemoryStream类的介绍
    C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
    C#ImageList和ListView的使用
    ListView的BeginUpdate()和EndUpdate()的用处
    C#中AppDomain.CurrentDomain.BaseDirectory及各种路径获取方法
    C#字符串比较方法
    C# ListView用法详解
    c#中枚举类型的定义与使用
    c#中的模态对话框和非模态对话框
  • 原文地址:https://www.cnblogs.com/hemeiwolong/p/8995067.html
Copyright © 2020-2023  润新知