在学习一种稍微有点复杂的数据类型
map<string, vector<pair<int,int> > >mp;
一、基本操作
下面使用这个对象来进行各种基本操作
0、首先定义各种后面所需的变量
map<string, vector<pair<int,int> > >mp;
string str = "Mina";
vector<pair<int,int> >v,v1;
pair<int,int>pa;
pa.first = 1;
pa.second = 2;
v.push_back(pa);
1、插入数据
有2种方法,一种用pair插入,一种用value_type。
mp.insert(pair<string, vector<pair<int,int> > >(str, v));
mp.insert(map<string, vector<pair<int,int> > >::value_type (str, v1));
2、获取数据
cout<<"1:"<<mp["Mina"][0].first<<"\n2:"<<mp["Mina"][0].second;
3、修改数据
mp["Mina"][0].first = 3;
mp["Mina"][0].second = 4;
二、完整代码
#include<iostream>
#include<map>
#include<vector>
using namespace std;
int main(){
string str = "Mina";
map<string, vector<pair<int,int> > >mp;
vector<pair<int,int> >v;
pair<int,int>pa;
pa.first = 1;
pa.second = 2;
v.push_back(pa);
mp.insert(pair<string, vector<pair<int,int> > >(str, v));
mp.insert(map<string, vector<pair<int,int> > >::value_type (str, v));
cout<<"1:"<<mp["Mina"][0].first<<"\n2:"<<mp["Mina"][0].second;
mp["Mina"][0].first = 3;
mp["Mina"][0].second = 4;
cout<<"\n1:"<<mp["Mina"][0].first<<"\n2:"<<mp["Mina"][0].second;
return 0;
}
三、补充备忘
vector<Key_Type, Value_type>第一个参数是键值,第二个是实值
下面我认为总结得比较好的资料: