1.set
定义:每个元素最多只出现一次,并且默认的是从小到大排序。
set 遍历: 题目http://www.cnblogs.com/ZP-Better/p/4700218.html
for(set<int>::iterator it = dict.begin(); it != dict.end(); ++it) cout<<*it ;
set删除与插入:CodeForces 305C
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <string>
#include <cstring>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <set> using namespace std; typedef long long ll;
const int INF=0x3f3f3f3f;
const double eps=1e-;
const double PI=acos(-1.0); set<int>s; int main()
{
int n,t;
int maxx;
scanf("%d",&n);
maxx=;
for(int i=;i<n;i++)
{
scanf("%d",&t);
while(s.count(t))//s.count(t)计数t出现几次。
{
s.erase(t);//删除
t++;
}
s.insert(t);//插入
maxx=max(maxx,t);
}
printf("%d\n",maxx-s.size()+);
return ;
}
2. map 映射
map遍历
map<string, int>::iterator it;
for(it=a.begin();it!=a.end();++it)
cout<<"key: "<<it->first <<" value: "<<it->second<<endl;
map应用:题目http://www.cnblogs.com/ZP-Better/p/4714803.html
未完待续~