【发布时间】:2010-10-08 22:55:17
【问题描述】:
我要做的就是检查一个元素是否存在于向量中,这样我就可以处理每种情况。
if ( item_present )
do_this();
else
do_that();
【问题讨论】:
-
在向量中搜索非常慢,因为您必须查看向量的每个元素,因此如果您要进行大量查找,请考虑使用地图
-
@naumcho:如果对向量进行排序,则始终存在二进制搜索,如下所示。这使它与映射一样快,如果您只存储值(而不是键/值映射),那么它将使用更少的内存。
-
地图当然不是最佳选择,但使用 set 可能会有用。如果你需要 O(1) 的查找时间,hash_set 是最好的选择。
-
重复问题的绝佳答案:stackoverflow.com/a/3451045/472647
-
如果要多次搜索不同的数字,哈希表会更有效。