以下以外のベクトルから要素を挿入/削除する方法はありますか..
- 「push_back」を使用する正式な方法
- このように 'find()' を使用すると... find(v.begin(), v.end(), int)
包括的な挿入/削除によって中間への挿入を実現できる場所をいくつか読んだことがあります。
それで、それは本当に可能ですか?
std::vector::insertを使用できます。ただし、この操作は O( .size() ) であることに注意してください。コードの途中で頻繁に挿入を実行する必要がある場合は、連結リスト構造に切り替えることをお勧めします。
Is there an way of inserting/deleting an element from the vectors other than the following
はい、std :: vector :: insert()を使用して、指定した位置に要素を挿入できます。
ベクトルは基になるストレージとして配列を使用するため、ベクトルの終わり以外の位置に要素を挿入すると、コンテナは位置の後にあったすべての要素を新しい位置に移動します。これは一般に、他の種類のシーケンスコンテナ(std :: listなど)によって同じ操作に対して実行される操作と比較して非効率的な操作です。
std::vector
標準コンテナです。標準を適用できますSTL algorithms
。
vector::insertはあなたが望むもののようです。