我有一个包含很多字符串的向量。
v[0] = "Agra"
v[1] = "Amritsar"
v[2] = "Bombay"
v[3] = "Bangalore"
现在我想要的是所有以特定字母开头的字符串。
例如:如果输入的字母是B
,那么我应该得到所有以B
开头的字符串。
如果输入字母为BO
,则所有字符串均以BO
除了顺序迭代向量之外还有什么方法吗?
答案 0 :(得分:2)
您可以使用std::copy_if
。
std::vector<std::string> v_source = { ... };
std::vector<std::string> v_destination;
std::copy_if(v_source.begin(),
v_source.end(),
std::back_inserter(v_destination),
[](std::string const& s) { return (s.size() > 0 && s[0] == 'B'); });
答案 1 :(得分:1)
您可以使用trie结构化树来存储数据。