C++---CHAPTER 11: ASSOCIATIVE-CONTAINER

小结

关联容器通过关键字查找和提取元素。对关键字的使用将关联容器与顺序容器区分开来,顺序容器中是通过位置访问元素的。

标准库定义了8个关联容器,每个容器:

  • 是一个map或者是一个setmap保存关键字-值对;set只保存关键字。
  • 要求关键字唯一或不要求。
  • 保持关键字有序或不保证有序。
  1. 允许重复关键字的容器的名字都包含有multi,而使用哈希技术的容器的名字都以unordered开头。set是一个有序集合,其中每个关键字只可以出现一次;而unordered_multiset则是一个无序的关键字集合,其中关键字可以出现多次。

使用关联容器

  • 使用map
    定义一个map需要指定关键字和值的类型;
    map中提取的pair是一个模板类型,保存两个名为firstsecond的成员。
int main() {
  map<string,size_t> word_count;
  string word;
  while(cin>>word && word!="stop")
    ++word_count[word];
  for(const auto &w: word_count)
    cout << w.first << " occurs " << w.second
    << ((w.second > 1) ? " times" : "time") << endl;
}
  • 使用set:
    find调用返回一个迭代器,如果为找到,find返回尾后迭代器。
  map<string,size_t> word_count;
  //给定类型;列表初始化关联容器
  set<string> exclude={"The", "but","And"};
  string word;
  while(cin>>word && word!="stop")
    if(exclude.find(word)==exclude.end())
        ++word_count[word];

关联容器概述

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 使用关联容器 2. 关联容器概述2.1 定义关联容器2.2 关键字类型的要求2.3 pair类型 3. 关联...
    MrDecoder阅读 550评论 0 0
  • STL部分 1.STL为什么广泛被使用 C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vec...
    杰伦哎呦哎呦阅读 4,466评论 0 9
  • 23.1 关联容器介绍 关联容器内部的元素都是排好序的,有以下四种。 set:排好序的集合,不允许有相同元素。 m...
    飞扬code阅读 915评论 1 4
  • C++ 标准模板库(STL) 作者:AceTan,转载请标明出处! 0x00 何为STL## STL(Standa...
    AceTan阅读 5,142评论 3 44
  • 关联容器和顺序容器的本质区别在于:关联容器中的元素是按关键字来保存和访问的,而顺序容器是按它们在容器中的位置来顺序...
    梦中睡觉的巴子阅读 287评论 0 0

友情链接更多精彩内容