【STL】map中find的用法、map的insert插入:pair make_pair

用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表插入键值对时有两种方法:

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是函数,则不需要。

三、map的遍历 

用迭代器遍历:则根据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;
	}
发布了89 篇原创文章 · 获赞 68 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/zDavid_2018/article/details/100209459