11-1 使用关联容器


image-20220227180134452

目录
  • 11.1.0 关联容器的类型
  • 11.1.1 使用map
  • 11.1.2 使用set

11.1.0 关联容器的类型

关联容器和顺序容器一样,都是模板类型,需要额外参数来指定类型

image-20220224150151773

image-20220224193251730

  • multi表示允许重复关键字

  • unordered表示关键字无序,内部是hash实现

  • map:存储“键-值”对,也叫关联数组

    set:任何关键字只能出现一次

11.1.1 使用map

//打印每个单词在输入中出现的次数
map word_count; //string到size_t的空map
string word;
while(cin>>word)
    ++word_count[word];  //提取word的计数器并+1
	//没有word时会自动创建并将值定为
for(const auto &w : word_count){
    cout<

从map的元素时pair,

  • pair也是模板类型

  • pair.first得到map的“键”

    pair.second得到map的“值”

11.1.2 使用set

上一个示例程序的一个合理扩展是:忽略常见单词,如"the"、"and"、"or"等。我们可以使用set保存想忽略的单词,只对不在集合中的单词统计出现次数:

image-20220224194050780

相关