我可以在地图中分配否定元素作为键,例如map[-1]=10;
怎样处理它的背面,它使用什么数据结构?我知道unordered_map在内部使用哈希,它如何处理哈希的否定元素?如果我使用数组进行哈希处理,则无法对否定元素进行哈希处理,导致数组索引不能为负数
答案 0 :(得分:6)
无序映射是一个包含键值的关联容器 与唯一键配对。搜索,插入和删除元素 具有平均恒定时间复杂度。
在内部,元素不是按任何特定顺序排序的,而是 整理成水桶。元素放入哪个存储桶取决于 完全在其密钥的哈希值上。这样可以快速访问个人 元素,因为一旦计算出哈希值,它就指向精确的 将元素放入其中。
unordered_map使用散列来访问元素。只要定义哈希函数,就可以对负整数或任何其他类型进行哈希处理。