赞
踩
用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器,程序说明
#include <map>
#include <string>
#include <iostream>
Using namespace std;
Int main()
{
Map<int, string> mapStudent;
mapStudent.insert(pair<int, string>(1, “student_one”));
mapStudent.insert(pair<int, string>(2, “student_two”));
mapStudent.insert(pair<int, string>(3, “student_three”));
map<int, string>::iterator iter;
iter = mapStudent.find(1);
if(iter != mapStudent.end())
{
Cout<<”Find, the value is ”<<iter->second<<endl;
}
Else
{
Cout<<”Do not Find”<<endl;
}
}
- map<int,int> m;
- m.insert(make_pair(3,4));
- m.insert(pair<int,int>(1,3));
-
- map<int,int>::iterator it = m.begin();
- while(it != m.end())
- {
- cout<<"it->first : "<<it->first<<" it->second : "<<it->second<<endl;
- it++;
- }
注意:pair是类模板,所以需要模板参数列表,而make_pair是函数,则不需要。
用迭代器遍历:则根据key的有序遍历
用key值遍历:是在已知key的基础上
- map<char,int> m;
- int value = 1;
-
- for(char i = 'a';i <= 'z';i++)
- {
- m.insert(pair<char,int>(i,value++));
- }
-
- //利用key值 直接找到value
- for(char i = 'a';i <= 'z';i++)
- {
- cout<<i<<" : "<<m[i]<<endl;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。