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) 操作が必要ですが、これより良い方法はありません。