map是一种非常有用的数据结构,它是一个集合,集合中的每个元素都有一个key(关键字),关键字是不能重复的,可以通过关键字快速查找到相应元素的值。比如一个学生有一个学号和姓名,可以把学号当作关键字,看下面的程序:
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
map<string, string> m;
m.insert(map<string, string>::value_type("0001", "Tom")); // 在map中增加一个元素,其中”0001”是学号,”Tom”是姓名
m.insert(map<string, string>::value_type("0002", "John")); // 再增加一个元素
m["0003"] = "Smith"; // 另外一种简便的增加元素方法
map<string, string>::iterator iter; // 通过迭代器来访问集合中的元素
iter = m.find("0001"); // 查找学号为”0001”的学生
if (iter != m.end()) // 判断是否找到
{
string s = iter->second; // iter->first是学号,iter->second是姓名
cout << s << endl;
}
cout << m["0002"] << endl; // 另外一种简便的查找方法
cout << m["0003"] << endl;
return 0;
}