在理解之前贴一份代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
map<int, int> mp;
mp[2] = 10;
mp[3] = 11;
mp[4] = 10;
if(mp[4] == 10){
cout<<"yeah~~~"<<endl;
}
cout<<mp[10]<<endl;
cout<<mp[101]<<endl;
return 0;
}
可以看见,只要是类型与上面定义的相匹配,那么map一定是可以访问的,访问的方式是:若定义map<typename1, typename2> mp; mp[name1]
若之前没有对一定的类型进行操作,还是会返回默认的值。比如如果第二个类型定义的是int类型,那么默认返回的值是0,若第二个类型定义的是string类型,那么返回的类型是空字符串:
#include <bits/stdc++.h>
using namespace std;
int main()
{
map<string, string> mp;
mp["tian"] = "bao";
cout<<mp["tian"]<<endl;
cout<<mp["lin"].length()<<endl;
return 0;
}
总之map是一种很好的记录状态的数据结构。
在搜索的剪枝过程中的用处很大~~~
最后好好看书,好好刷题,赛高~~~~