pair,map,set
1.pair
pair的作用就是将两个数整合成一个数,如一个数和它所对应的下标,将value与key绑定起来。其实它是用结构体来实现的,pair.first与pair.second
//一种赋值方式 pair<int ,int> p1; p1.first=1; p1.second=2; //定义时直接赋值 pair<int, double> p2(1, 2.4); //用给定值初始化 //利用make_pair定义 pair<int,float> p; p=make_pair(1,1.5); //同时也可以定义stringd的 pair<int,string> p4(5,"super");
容器里面放进pair
vector<pair<int,int> > vec; //这时候就可以用sort对这容器排序 bool cmp(pair<int,int> &p1,pair<int,int> &p2){ return p1.first>p2.first //降序 //return p1.first<p2.first //升序 } sort(vec.begin(),vec.end(),cmp);
2.map
字典,确实经常用到,但是不是很熟练
map中有两个变量,第一个是关键值(key),第二个数值
map<int ,string> mp; mp.insert(pair<int,string>(1,"one"));//插入
3.set
里面的元素不会重复,set里面会自动排序(从小到大),以后可以利用好这个特性
set<int> vp; vp.insert(1);//数值插入 vp.erase(1);//数值删除 auto iter=vp.begin(); vp.erase(iter)//迭代器删除