set基本用法-----2

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstdlib>
 4 #include<cmath>
 5 #include<vector>
 6 #include<algorithm>
 7 #include<cstring>
 8 #include<vector>
 9 #include<map>
10 #include<stack>
11 #include<set>
12 #define maxn +50
13 #define inf 0x7fffffff
14 #define  xiao 1e-9
15 using namespace std;
16 set<int>::iterator iter;
17 int main()
18 {
19     int a[]={1,2,3};
20     set<int> s; 
21     s.insert(a,a+3);//与set<int> s(a,a+3); 等效 
22     //s.find()查找set中是否有这个数,iter是它的位置,如果有则返回iter ,没有则返回s.end();
23     {
24 
25     if((iter=s.find(3))!=s.end())
26     {
27         cout<<*iter<<endl;
28     }
29     } 
30     //insert(first,second) 把定位器first 与second之间的值插入set中 ,返回值为空 
31     {
32     for(iter=s.begin();iter!=s.end();++iter) cout<<*iter<<" ";
33     cout<<endl;
34 }
35     //insert(key_value)返回值是pair<set<int>::iterator,bool>,bool代表是否插入成功,iterator代表插入的位置,若key_value已经在set中,则iterator返回所在位置 
36     {
37     pair<set<int>::iterator,bool> pr;
38     pr=s.insert(5);
39     if(pr.second) cout<<*pr.first<<endl; 
40     }
41     //lower_bound(key_value)返回第一个大于等于key_value的值的位置
42     //upper_bound(key_value)返回最后一个大于等于key_value的值的位置
43     {
44         cout<<*s.lower_bound(2)<<endl;
45         cout<<*s.upper_bound(2)<<endl;
46     }
47     return 0;
48 }

set真是一个神奇的东西~~~~~

转载于:https://www.cnblogs.com/TYH-TYH/p/4929723.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值