在向量数组中查找元素

时间:2012-09-26 08:22:28

标签: c++ vector find c++builder vcl

  

可能重复:
  How to find an item in a std::vector?

我正在使用C ++ Builder创建VCL Forms应用程序。我还有一个约会对象的向量数组,每个对象都有一个名称,类型,提醒日期/时间,日期/时间,位置和注释。

我想要实现一个查找功能,让用户根据特定条件找到约会。

用户可以选择在矢量数组中查找约会,方法是选择名称,类型等或各自的组合。

在这种情况下,最好的编程概念是什么?矢量不大。不超过10或20个元素。

由于

3 个答案:

答案 0 :(得分:2)

使用std::find_if()并定义所需的谓词(如果C ++ 11可以使用lambda函数)。

参见在线演示http://ideone.com/Md7sp

答案 1 :(得分:1)

std::find_if(A.begin(),A.end(),isthatit(conditions));

其中isthatit是从条件构造的谓词对象。

答案 2 :(得分:0)

如果你有很多标准,你应该考虑一下 针对不同搜索索引的Boost.MultiIndex容器。 http://www.boost.org/doc/libs/1_51_0/libs/multi_index/doc/tutorial/index.html