对于 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 < value
或comp(e, value)
进行分区。
C++11,[lower.bound] (§25.4.3.1)
【讨论】:
std::unordered_map
满足 ForwardIterator
。 std::lower_bound
要求其迭代器满足 ForwardIterator
。我错过了什么?
@Rakete1111:“范围[first, last)
必须至少部分排序,即相对于表达式元素< value
或comp(element, value)
进行分区。完全排序的范围符合此标准,如对std::partition
的调用产生一个范围。"以上是关于对于 std::tr1::unordered_map,是不是有任何等效的 std::algorithm 类似于 std::map::lower_bound?的主要内容,如果未能解决你的问题,请参考以下文章
为啥会提示“我们计算的请求签名与您提供的签名不匹配”。对于 GET 但不是 PUT 对于 OpenSearch?
对于Passenger,控制台日志(从puts的输出)去哪里......对于Nodejs