对于 std::tr1::unordered_map,是不是有任何等效的 std::algorithm 类似于 std::map::lower_bound?

Posted

技术标签:

【中文标题】对于 std::tr1::unordered_map,是不是有任何等效的 std::algorithm 类似于 std::map::lower_bound?【英文标题】:Is there any equivalent std::algorithm similar to std::map::lower_bound for std::tr1::unordered_map?对于 std::tr1::unordered_map,是否有任何等效的 std::algorithm 类似于 std::map::lower_bound? 【发布时间】:2016-08-16 16:43:10 【问题描述】:

对于 std::tr1::unordered_map 是否有任何等效的 std::algorithm 类似于 std::map::lower_bound ?

【问题讨论】:

如果序列是无序的,lower_bound有什么用? 基本上我想在我的代码中使用已经存在的容器,即 std::tr1::unordered_map 而不将其复制到 std::map。 在更高的层次上,你想要完成什么? 【参考方案1】:

不,没有,因为std::unordered_map 不是有序容器。

std::lower_bound 存在,但它只适用于有序容器:

要求:[first,last) 的元素e 应根据表达式e < valuecomp(e, value) 进行分区。

C++11,[lower.bound] (§25.4.3.1)

【讨论】:

std::unordered_map 满足 ForwardIteratorstd::lower_bound 要求其迭代器满足 ForwardIterator。我错过了什么? @Rakete1111:“范围[first, last) 必须至少部分排序,即相对于表达式元素< valuecomp(element, value) 进行分区。完全排序的范围符合此标准,如对std::partition的调用产生一个范围。"

以上是关于对于 std::tr1::unordered_map,是不是有任何等效的 std::algorithm 类似于 std::map::lower_bound?的主要内容,如果未能解决你的问题,请参考以下文章

对于软件工程的期望

为啥会提示“我们计算的请求签名与您提供的签名不匹配”。对于 GET 但不是 PUT 对于 OpenSearch?

对于Passenger,控制台日志(从puts的输出)去哪里......对于Nodejs

对于Oracle analyze table的使用总结 . 对于Oracle analyze table的使用总结 .

对于基于基本数据类型的变量创建的数组

Next Js 错误:元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件)但得到:未定义