注意:有时答案是“作为用户,您不必担心实施细节”我会在此注意到这是一个基于我想学习的问题,好像我想实施它
根据SGI:
唯一关联容器是一个关联容器 容器中的每个键都是唯一的属性:没有两个元素 唯一关联容器具有相同的密钥。
我明白了。没有进一步解释的是如何在密钥是唯一的时以及何时不存储的情况下存储数据(我猜测没有解释的原因是它是依赖于实现的)。那么,当密钥是唯一的时,所有桶都是1个元素的大小?我想的不是因为碰撞,如果是这样,一旦桶号由hasher
确定,并且如果密钥是唯一的,那么元素如何存储在桶本身中?
当钥匙不唯一时怎么办?如何存储元素然后返回/从存储桶返回?
如果它们与(通常)唯一关联容器和关联容器如何存储它们之间的元素和差异有关,我将不胜感激。 (如果有的话)。
答案 0 :(得分:0)
唯一关联容器中的键是唯一的。如您链接的页面所述,如果您使用键k插入一些元素e,则使用相同的键k对insert()的后续调用将不会插入新元素。另请注意,在您链接的页面中,count()方法返回UAC中给定键的元素数,始终返回0或1。
关于“水桶”的问题尚不清楚。容器如何在后端存储数据 - 例如,哈希映射是否通过链接或通过其他机制处理冲突 - 不应该影响您作为用户。