ベクトルv1がベクトルv2の内部にあるかどうかを確認しようとしています。私のベクターは注文され、注文は保存されている必要があります。例えばSTLベクトルの中にC++ STLベクトルがあるかどうかを調べる
、もしV1 =、Iはにを指すイテレータを取得したいと思いとV2 =( bはE、F、)(、 B) v2。
STL findは、ベクトル内で1つのオブジェクトのみを検出します。私が望むものは、string :: findと似たものです。
STLにこれを行う機能はありますか?
ベクトルv1がベクトルv2の内部にあるかどうかを確認しようとしています。私のベクターは注文され、注文は保存されている必要があります。例えばSTLベクトルの中にC++ STLベクトルがあるかどうかを調べる
、もしV1 =、Iはにを指すイテレータを取得したいと思いとV2 =( bはE、F、)(、 B) v2。
STL findは、ベクトル内で1つのオブジェクトのみを検出します。私が望むものは、string :: findと似たものです。
STLにこれを行う機能はありますか?
別のシーケンス内のサブシーケンスを検索したいようです。あなたは標準ライブラリからstd::search
でそれを行うことができます。
auto it = std::search(v2.begin(), v2.end(), v1.begin(), v1.end());
ありがとう、私はこれが私が探していたものだと思います! – Ari
あなたのベクターが注文されたと言うとき、ある要素を比較してどちらが最初に来るのかを判断できるような基準で注文されているということですか?あるいは、要素を見て比較するだけでは導き出せない特定の順序でそれらを設定したことを意味しますが、外部にあるかどうかに依存していますか? –
[std :: includes](http://en.cppreference.com/w/cpp/algorithm/includes)が役立つかもしれませんが、あなたのケースでどのような順序が使用されているのかわかりません。 –
私はSTL vectorを使って、要素を見て比較するだけでは派生できない順序付きリストをモデル化したことを意味します。 v1のメンバーが同じ順序でv2に登場するかどうかを調べる必要があります。私はベクトルをソートできません。文字列を別の文字列を検索するときにソートしないのと同じように。 – Ari