set是像前面说的一样使用二叉搜索树维护集合的容器,而map是维护键和键对应的值的容器。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
#include<set>
#include<map>
#define ll long long
using namespace std;
int main()
{
set<int> s;
s.insert(1);
s.insert(3);
s.insert(5);
set<int>::iterator ite;//查找元素
ite=s.find(1);
if(ite==s.end()) puts("not found");
else puts("found");
s.erase(3);//删除元素
if(s.count(3)!=0) puts("found");//其他的查找元素的方法
else puts("not found");
//遍历所有元素
for(ite=s.begin();ite!=s.end();ite++)
{
printf("%d\n",*ite);
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
#include<set>
#include<map>
#define ll long long
using namespace std;
int main()
{
//声明(int为键,const char*为值)
map<int,const char*> m;
m.insert(make_pair(1,"ONE"));
m.insert(make_pair(2,"SECOND"));
m[100]="HUNDRED";
map<int,const char*>::iterator ite;
ite=m.find(1);
puts(ite->second);
ite=m.find(2);
if(ite==m.end()) puts("not found");
else puts(ite->second);
puts(m[10]);
m.erase(10);
for(ite=m.begin();ite!=m.end();ite++)
{
printf("%d:%s\n",ite->first,ite->second);//遍历一遍所有元素
}
return 0;
}