11-1 使用关联容器
11.1.0 关联容器的类型
关联容器和顺序容器一样,都是模板类型,需要额外参数来指定类型
-
multi表示允许重复关键字
-
unordered表示关键字无序,内部是hash实现
-
map:存储“键-值”对,也叫关联数组
set:任何关键字只能出现一次
11.1.1 使用map
//打印每个单词在输入中出现的次数
map<string, size_t> word_count; //string到size_t的空map
string word;
while(cin>>word)
++word_count[word]; //提取word的计数器并+1
//没有word时会自动创建并将值定为
for(const auto &w : word_count){
cout<<w.first<<" : "<<w.second<<endl;
}
从map的元素时pair,
-
pair也是模板类型
-
pair.first得到map的“键”
pair.second得到map的“值”
11.1.2 使用set
上一个示例程序的一个合理扩展是:忽略常见单词,如"the"、"and"、"or"等。我们可以使用set保存想忽略的单词,只对不在集合中的单词统计出现次数:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用