C++检查列表是否包含子列表

Tam*_*lei 2 c++

我需要一个容器,我可以在其中检查是否存在一系列元素.与子串匹配相同,仅用于泛型集合.我知道这不难写,但如果它已经在某些lib中实现了,我就不会打扰了(也许Boost有这样的东西?)

ybu*_*ill 10

任何序列容器都可以.您只需要使用std :: search算法来搜索子列表:

vector<int> sequence = ...;
vecter<int> sublist = ...;

vector<int>::iterator pos = std::search(
    sequence.begin(), sequence.end(), 
    sublist.begin(), sublist.end());

if(pos == sequence.end()) 
    // not fount
else 
    // found at pos
Run Code Online (Sandbox Code Playgroud)