一、标准库的map类型
使用map得包含map类所在的头文件
template <
class Key,
class Type,
class Traits = less<Key>,
class Allocator=allocator<pair <const Key, Type> >
>
class map
#include <map>
定义一个map对象: map<string, int> mapTest;
//用string作为索引,存储int对象
例程1:map 插入数据
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <map>
#include <string> #include <iostream> using namespace std; int main(void) mapTest["aaa"] = 100; // int& operator[](const string& index); map<string, int>::const_iterator it; return 0; } |
如上所述,
例程2:map 查找与修改
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#include <map>
#include <string> #include <iostream> using namespace std; int main(void) mapTest["aaa"] = 100; // int& operator[](const string& index); int n = mapTest["bbb"]; map<string, int>::iterator it; //map<string,int>::const_iterator it; return 0; } |
例程3:map 删除数据
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include <map>
#include <string> #include <iostream> using namespace std; int main(void) mapTest["aaa"] = 100; // int& operator[](const string& index); mapTest.erase("bbb"); for (it = mapTest.begin(); it != mapTest.end(); ++it) return 0; } |
例程4:使用map 计算每个单词出现的次数
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/*************************************************************************
> File Name: count_words.cpp > Author: Simba > Mail: dameng34@163.com > Created Time: Sat 10 Nov 2012 10:20:14 AM CST ************************************************************************/ #include<iostream> using namespace std; int main(void) cout << it ->first << "\t" << it->second << endl; |
参考:
C++ primer 第四版
Effective C++ 3rd
C++编程规范