我需要一个容器,我可以在其中检查是否存在一系列元素。与子串匹配相同,仅用于泛型集合。我知道写起来并不难,但是如果它已经在某些lib中实现了,我就不会打扰了(也许Boost有这样的东西?)
答案 0 :(得分: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
答案 1 :(得分:2)
你想要std::search
吗?
答案 2 :(得分:0)
STL的mismatch
算法对于通用容器几乎是strcmp
。