5

OK、これは私がやろうとしていたことです。間違っている場合は修正してください。myarray に char abcd が含まれているかどうかを確認しようとしています。私がこのようにすることを考えていること:

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

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

私の質問は、それを行うより良い方法はありますか?

4

2 に答える 2

6

それを行う1つの方法は、アルゴリズムを使用するstd::stringことですstd::vectorstd::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 に答える