什么是C++中的"集合"?它们什么时候有用?

Mon*_*urd 5 c++ computer-science set

我很难概念化c ++集,实际上是一般的.

这些是什么?它们有用吗?

Dav*_*haw 27

如果您在理解集合时遇到困难,请不要感到难过.大多数数学学位都是用集理论来表达的:

http://en.wikipedia.org/wiki/Set_theory

将集合视为唯一的无序对象的集合.在许多方面,它看起来像一个列表:

{1,2,3,4}

但秩序并不重要:

{4,3,2,1} = {1,2,3,4}

重复被忽略:

{1,1,2,3,4} = {1,2,3,4}

C++集是此数学对象的实现,其奇怪的特性在内部排序.但这只是实现的细节,与理解数据结构无关.排序只是为了速度.


Amb*_*ber 5

C++ STL集是关联映射,它保证集合中元素的排序和唯一性(Multisets保证前者而不是后者).

它们通常用作集合操作的一部分 - 例如联合,交叉和其他涉及包含/排除集合中元素的交互.