好的,这就是我一直在尝试做的事情,如果我错了,请纠正我我正在尝试检查 myarray 是否包含 char abcd。我正在考虑这样做:
char* myarray[] = {
"hello",
"wooorld",
"hi"};
if(myarray->Contains(abcd))
{
//do stuff
}
我的问题是,有没有更好的方法呢?
一种方法是使用std::string
and std::vector
withstd::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";
}
如果您对C 样式字符串数组进行排序,还有其他“更好”的查找文本的方法。
仅举几例:
二进制搜索
斐波那契搜索
您需要澄清“更好”一词。对于小型容器,线性搜索比二分搜索执行得更好。