首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++容器的通用用例

C++容器的通用用例
EN

Stack Overflow用户
提问于 2010-10-24 19:48:35
回答 2查看 8.8K关注 0票数 29

C++标准库容器的通用用例是什么?

  • 位集
  • 德克
  • 列表
  • 地图
  • 多机
  • 多集
  • priority_queue
  • 队列
  • 设置
  • 堆栈
  • 向量

例如,地图通常更适合配对搜索。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-24 19:55:41

一幅画胜过一千个字。

它可以从##C++在Freenode上提供信息的机器人nolyc中获得,可以使用命令“容器选择”或“容器选择”。您收到的这张图片的链接位于adrinael.net,这意味着我们应该感谢Freenode的##C++社区的成员Adrinael

票数 91
EN

Stack Overflow用户

发布于 2010-10-24 20:21:06

bitset -用于存储位元。一般用途-存储一些标志的值。你不需要更多的那一点。

deque -双端队列- push_back、push_front、pop_back和pop_front -基本类方法。“未排序”(无序)容器。

list链接列表.这个容器不是内存-连续的。添加和删除元素的时间是O(1),但寻找特定元素的时间是O(n)。无序集装箱。

map -容器,存储对(std::偶对)。第一个是键-映射中的每个元素都必须有唯一的键。映射被表示为树,因此在映射中搜索元素是n*log(n)。这个容器总是被排序的,这就是为什么添加和删除元素会带来更多的时间--树(数据结构)是二进制和平衡的。

multimap -几乎与std::map相同,但允许具有相同密钥的对。例如,multimap可以包含元素:(666,"alabala"),(666,"asdfg"),而标准的std::map不能。

multiset -同样与set相同,但具有可重复的元素。设置-好,这也是始终排序的STL容器。例如,一个集合是{ 1,2,3},当您试图在这个集合中添加'1‘时,它将不会被添加,因为已经有这样的元素了。(它类似于数学的集合)。因此,multiset允许具有相同值的几个元素,例如{ 1、1、1、2、3、4、4、4、4}是正确的多集,而它是而不是a集。在std::set中添加和删除元素仍然是对数时间,因为它被表示为二进制、排序和平衡树。

priority_queue -根据一些严格的弱排序条件,它的第一个元素总是它所包含的最大元素。基本功能- push_back和pop_back。

queue - FIFO结构-先进先出.(或者和LILO一样-最后一次-最后一次出局)。这类似于一个标准的队列--当你去商店开始排队时,第一个会有第一个排队。你只要push_back和pop_front就行了。无序集装箱。

set --我已经在multiset部分中描述过了。

stack - LIFO -最后一次先入先出-堆栈.基本功能- push_back,pop_back。无序集装箱。

vector -模拟一个标准的c++阵列.它被视为常规数组,它的内存-连续,可以传递给一个C程序(传递第一个元素的地址)。无序集装箱。

重要注意事项:我描述了基本功能,而不是整个功能。有关更多信息,请阅读CPlusPlus.com

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4010097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档