检查数组是否包含char

时间:2013-06-27 20:04:59

标签: c++ arrays char contains

好的,这就是我一直在尝试做的,请纠正我,如果我错了我试图检查myarray是否包含char abcd。我这样做的想法是什么:

char* myarray[] = {
    "hello",
    "wooorld",
    "hi"};

if(myarray->Contains(abcd))
{
//do stuff
}

我的问题是,有更好的方法吗?

2 个答案:

答案 0 :(得分:6)

一种方法是使用std::stringstd::vector std::find算法:

 std::vector<std::string> strs{"hello","wooorld","hi"};
 std::string toFind = "abcd";
 if (std::find(strs.begin(), strs.end(), toFind) != strs.end())
 {
    std::cout <<" abcd exist in vector of strings";
 }

答案 1 :(得分:0)

如果您对 C风格字符串的数组进行排序,还有其他“更好”查找文本的方法。

仅举几例:
二进制搜索
斐波那契搜索

您需要澄清“更好”这个词。对于小容器,线性搜索比二分搜索表现更好。