vectorに特定の要素が含まれているかどうかをC++で確認します

Google Translate Icon

C++のvectorを指定して、指定された要素が含まれているかどうかを確認します。

vector内の要素の検索は、vectorがソートされていない限り、線形時間操作です。 The <algorithm> ヘッダーは、検索に使用できる多くの機能を提供します。

1.使用する std::count 関数

最も簡単な解決策は、指定された値を持つvector内の要素の総数を数えることです。カウントがゼロ以外の場合、要素が見つかりました。これは、を使用して簡単に行うことができます std::count 関数。

ダウンロード  コードを実行する

2.使用する std::find 関数

効率的な解決策は、 std::find 指定された範囲の値を見つけるためのアルゴリズム。これは、 std::count 以来 count() コンテナ全体をトラバースして要素数を取得します find() 一致する要素が見つかるとすぐに検索を停止します。

ダウンロード  コードを実行する

3.使用する std::find_if 関数

使用することもできます std::find_if 述語を必要とするアルゴリズム。これは、検索が特定の条件を満たす必要がある場合に推奨されるアプローチです。たとえば、整数のvectorの最初の素数を見つけるか、文字列のvectorのある文字で終わる最初の文字列を見つけるように求められます。

ダウンロード  コードを実行する

4.使用する std::any_of 関数

これは、 std::find_if アルゴリズム。述語を満たすシーケンスの最初の要素を指すイテレータを返す代わりに、述語がいずれかの要素に対してtrueを返し、それ以外の場合はfalseを返す場合はブール値trueを返します。

ダウンロード  コードを実行する

5.使用する std::none_of 関数

The std::none_of アルゴリズムは正反対です std::any_ofつまり、述語が指定された範囲内のすべての要素に対してfalseを返す場合はtrueを返し、述語が少なくとも1つの要素に対してtrueを返す場合はfalseを返します。

ダウンロード  コードを実行する

最後に、vectorが順序付けられている場合は、使用を検討してください std::binary_search 要素が指定された範囲内で見つかった場合はtrueを返し、それ以外の場合はfalseを返すアルゴリズム。 バイナリ検索 プロシージャはで実行されます O(log(n)) 時間。

ダウンロード  コードを実行する

これで、C++でvectorに特定の要素が含まれているかどうかを判断できます。

この投稿を評価する

平均評価 4.67/5。投票数: 46

今のところ投票はありません!この投稿を最初に評価してください。

この投稿がお役に立てなかったことをお詫び申し上げます。

この投稿を改善する方法を教えてください。




読んでくれてありがとう。

私たちを使用してください オンラインコンパイラ C、C++、Java、Python、JavaScript、C#、PHP、およびその他の多くの一般的なプログラミング言語を使用して、コメントにコードを投稿します。

私たちのような?あなたの友人に私たちを紹介し、私たちが成長するのを手伝ってください。ハッピーコーディング :)



申し込む
通知する
guest
2 コメントコメント
最も投票された
最新 最古
インラインフィードバック
コメントをすべて表示
このリンクをたどらないでください。そうしないと、サイトへのアクセスが禁止されます。