如何检查向量是否在指定索引内包含特定字符?

iam*_*ble 1 c++ algorithm search vector

我想知道如何(如果可能的话)从向量的开头到指定的索引(如果存在字符)进行搜索。

伪代码:

vector<char> a{a, b, c, d, e, f, /*...*/};

if (from a.begin() to a[2] b exists) {
... }
Run Code Online (Sandbox Code Playgroud)

最有效的方法是什么?

Jar*_*d42 5

来自标准的算法采用迭代器,而不是容器,因此您可以使用它们:

auto it = std::find(a.begin(), a.begin() + 2, 'b');
if (it != a.begin() + 2) {
    // found.
}
Run Code Online (Sandbox Code Playgroud)

  • 只要我们坚持使用`std :: vector`,`std :: any_of`就会具有相同的效率并且更加明确 (2认同)