unordered_map<int,int> 如何处理负面元素?
Posted
技术标签:
【中文标题】unordered_map<int,int> 如何处理负面元素?【英文标题】:How unordered_map<int,int> handles negative elements? 【发布时间】:2019-10-09 05:04:31 【问题描述】:我可以将负元素指定为 map 中的键,例如 map[-1]=10;
它如何在后面处理它,它使用什么数据结构?我知道 unordered_map 在内部使用散列,它如何处理散列的负元素?如果我使用数组进行散列,我不能散列负元素,因为数组索引不能为负
【问题讨论】:
这很简单:static_cast<unsigned int>
unordered_map无序映射是一个包含键值的关联容器 与唯一键配对。搜索、插入和删除元素 具有平均恒定时间复杂度。
在内部,元素不是按任何特定顺序排序的,而是 组织成桶。将元素放入哪个桶取决于 完全基于其密钥的散列。这允许快速访问个人 元素,因为一旦计算了散列,它指的是确切的 将元素放入的桶中。
unordered_map 使用散列来访问元素。只要定义了散列函数,散列负整数或任何其他类型都没有问题。
【讨论】:
以上是关于unordered_map<int,int> 如何处理负面元素?的主要内容,如果未能解决你的问题,请参考以下文章
unordered_map<int,int> 如何处理负面元素?
c ++:无法将一对<int,MLine *>插入到unordered_map