ベクトルからサブベクトルを抽出する最良の方法は? 質問する

ベクトルからサブベクトルを抽出する最良の方法は? 質問する

std::vectorサイズ の( と呼ぶことにしますmyVec)があるとしますN。0 <= X <= Y <= N-1 である要素 X から Y のコピーで構成される新しいベクトルを作成する最も簡単な方法は何でしょうか。たとえば、サイズ のベクトルでmyVec [100000]から を作成します。myVec [100999]150000

これをベクターで効率的に実行できない場合、代わりに使用すべき別の STL データ型はありますか?

ベストアンサー1

vector<T>::const_iterator first = myVec.begin() + 100000;
vector<T>::const_iterator last = myVec.begin() + 101000;
vector<T> newVec(first, last);

新しいベクトルを構築するには O(N) 操作が必要ですが、これより良い方法はありません。

おすすめ記事