3

以下以外のベクトルから要素を挿入/削除する方法はありますか..

  1. 「push_back」を使用する正式な方法
  2. このように 'find()' を使用すると... find(v.begin(), v.end(), int)

包括的な挿入/削除によって中間への挿入を実現できる場所をいくつか読んだことがあります。

それで、それは本当に可能ですか?

4

3 に答える 3

4

std::vector::insertを使用できます。ただし、この操作は O( .size() ) であることに注意してください。コードの途中で頻繁に挿入を実行する必要がある場合は、連結リスト構造に切り替えることをお勧めします。

于 2012-12-12T08:22:44.033 に答える
3
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

于 2012-12-12T08:29:59.473 に答える
0

vector::insertはあなたが望むもののようです。

于 2012-12-12T08:24:19.687 に答える