【问题标题】:Find an element in a vector array [duplicate]在向量数组中查找元素[重复]
【发布时间】:2012-09-26 08:22:27
【问题描述】:

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

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

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

用户可以通过选择名称、类型等或两者的组合来选择在向量数组中查找约会。

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

谢谢

【问题讨论】:

  • 你是指一个向量,还是一个向量数组?

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


【解决方案1】:

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

查看在线演示http://ideone.com/Md7sp

【讨论】:

    【解决方案2】:
    std::find_if(A.begin(),A.end(),isthatit(conditions));
    

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 索引? “不超过 10 或 20 个元素”……索引? ;-)
      猜你喜欢
      • 1970-01-01
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 2021-09-26
      • 1970-01-01
      • 2020-08-21
      • 1970-01-01
      相关资源
      最近更新 更多