cpp中map
时间: 2023-07-31 13:13:33 浏览: 137
map.cpp
map是C++ STL中的一个关联容器,用于实现键值对的映射。它使用红黑树实现,可以保证插入、删除和查找的平均时间复杂度都是O(logn)。
使用map时需要包含头文件<map>,其定义格式为:
```cpp
template < class Key, // map中键的数据类型
class T, // map中值的数据类型
class Compare = less<Key>, // 比较map中键的函数类,缺省使用 operator<
class Allocator = allocator<pair<const Key,T>> // 分配器
> class map;
```
例如,使用map实现一个单词计数器:
```cpp
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
map<string, int> word_count;
string word;
while (cin >> word) {
++word_count[word];
}
for (const auto &w : word_count) {
cout << w.first << " : " << w.second << endl;
}
return 0;
}
```
在上面的例子中,我们定义了一个名为word_count的map,用于统计输入中每个单词出现的次数。在输入过程中,我们使用++运算符自增map中对应单词的计数器,最终输出每个单词及其出现次数。
阅读全文