簡體   English   中英

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

[英]C++ check if a list contains a sublist

我需要一個容器,我可以在其中檢查是否存在一系列元素。 與子串匹配相同,僅用於泛型集合。 我知道這不難寫,但如果它已經在某些lib中實現了,我就不會打擾了(也許Boost有這樣的東西?)

任何序列容器都可以。 您只需要使用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

你想要std::search嗎?

STL的mismatch算法對於通用容器來說非常strcmp

http://www.cplusplus.com/reference/algorithm/mismatch/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM