5

好的,这就是我一直在尝试做的事情,如果我错了,请纠正我我正在尝试检查 myarray 是否包含 char abcd。我正在考虑这样做:

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

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

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

4

2 回答 2

6

一种方法是使用std::stringand std::vectorwithstd::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";
 }
于 2013-06-27T20:08:28.450 回答
0

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

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

您需要澄清“更好”一词。对于小型容器,线性搜索比二分搜索执行得更好。

于 2013-06-27T20:11:02.417 回答