标题 map函数
C++STL中map的使用策略(一)
2018-06-22阅读 5240
Map是STL的一个关联容器,它提供一对一的数据处理能力。比如有一个姓名的集合{“Tom”,”Jone”,”Mary”},班级集合{1,2},班级与姓名可能存在以下的映射关系:
class(“Tom”) = 2,class(“Jone”) = 2,class(“Mary”) = 1
我们称其中的姓名集合为关键字集合(key),班级集合为值集合(value)
在C++中map的实现在一个<map>头文件中
1.构造一个集合
map<T1,T2>m;//名为m的,从T1类型到T2类型的映射
2.插入元素
#include
是如果插入语句没有生效,那么这就涉及到我们怎么知道insert语句是否插入成功的问题了,可以通过pair来获得是否插入成功,程序如下:
pair<map<int, string>::iterator, bool> insert_pair;
insert_pair = mapStudent.insert(map<int, string>::value_type (1, “student_one”));
我们通过pair的第二个变量来知道是否插入成功,它的第一个变量返回的是一个map迭代器,如果插入成功的话,insert_pair.second应该是true,否则为false。
下面给出一个示例代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
map<int, string> mapStudent;
pair<map<int, string>::iterator, bool> insert_Pair;
insert_Pair = mapStudent.insert(pair<int, string>(1, “student_one”));
if(insert_Pair.second == true)
{
cout<<“Insert Successfully”<<endl;
}
else
{
cout<<“Insert Failure”<<endl;
}
insert_Pair = mapStudent.insert(pair<int, string>(1, “student_two”));
if(i