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-10; const double PI=acos(-1.0); set<int>s; int main() { int n,t; int maxx; scanf("%d",&n); maxx=0; for(int i=0;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 ",maxx-s.size()+1); return 0; }
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
未完待续~