std::find 内部で定義された関数です ヘッダー ファイル 指定された範囲内の要素を検索します。指定されたシーケンス内で最初に出現した指定された要素への反復子を返します。要素が見つからない場合は、最後までのイテレータが返されます。
構文:
input_iterator std::find (input_iterator first , input_iterator l ast , const T& value );>
パラメーター:
- first: シーケンス内の最初の位置への反復子。 last: シーケンス内の最後の位置の直後に位置する反復子。 (vector.end() はシーケンスの最後の位置ではなく、シーケンスの最後の要素の次の位置を指すことに注意してください)。 value: 検索する値。
戻り値:
- 値が 見つかった シーケンス内で、その位置への反復子が返されます。
- 値が 見つかりません 、最後の位置へのイテレータが返されます。
注記 : input_iterator は使用されるコンテナのイテレータ型であり、 T 関数テンプレートで定義された型名です。
例:
C++
jsのbase64デコード
// C++ program to Demonstrate> // std::find for vectors> #include> // Driver code> int> main()> {> > std::vector<> int> >もの{10, 20, 30, 40};>> > // Iterator used to store the position> > // of searched element> > std::vector<> int> >::それを反復処理します;>>' > std::cout <<> 'Original vector :'> ;> > > for> (> int> i = 0; i std::cout << ' ' << vec[i]; std::cout << '
'; // Element to be searched int ser = 30; // std::find function call it = std::find(vec.begin(), vec.end(), ser); if (it != vec.end()) { std::cout << 'Element ' << ser << ' found at position : '; std::cout << it - vec.begin() << ' (counting from zero)
'; } else std::cout << 'Element not found.
'; return 0; }> |
>
>出力
Original vector : 10 20 30 40 Element 30 found at position : 2 (counting from zero)>
時間計算量: の上)
補助スペース: ○(1)
注: std::find() 関数はヘッダー ファイル内で定義されています。したがって、find 関数を使用する前に、そのヘッダー ファイルをインクルードする必要があります。
std::find() の時間計算量は O(n) であり、ソートされていないシーケンスでも機能することがわかるため、これは 線形探索 実装時のアルゴリズム。
関連記事:
- std::検索
- std::find_if、std::find_if_not
- std::nth_element
- std::find_end