C++にはコンテナがありますか?どちらの端にも要素を追加することができます。同様に、いずれかの端から要素を削除します。たぶんSTLまたはブースト?両端に追加したり削除したりできるコンテナはありますか
1
A
答えて
0
あなたは移植性v.insert(v.begin(), x)
を経由してシーケンスコンテナ(vector
/deque
/list
)の前に要素x
を追加することができます。しかし、vector
の場合、これはO(n)オペレーションです(これはvector
が便利なpush_front
オペレーションを持たないためです)、既存のすべての要素を再配置します。既存の要素の再配置を望まない場合は、deque
またはlist
が適しています。
+0
'list'はあまりお薦めしないでください。' list'はほとんど常に悪い考えである非常に特殊なコンテナです。 – Yakk
関連する問題
- 1. UITableViewCellでレイヤーを追加したり削除したりする
- 2. Ember.js DOMからビューを追加したり削除したりしますか?
- 3. jQueryでクラスを追加したり削除したりすることはできますか?
- 4. データスクロール速度タグを追加したり削除したりすることはできますか?
- 5. Jqueryリストボックスから項目を追加したり削除したりする
- 6. android-どのようにオブジェクトをデータベースに追加したり削除したりできますか?
- 7. 私の.htaccessファイルで何かを削除したり追加したりするべきですか?
- 8. Android Studioのダイナミックリストからテキストビューを追加したり削除したりできますか?
- 9. JPaneにJLabelを追加したり削除したりするにはどうすればよいですか?
- 10. 実行時にC#でURL書き換えルールを追加したり削除したりするスマートな方法はありますか?
- 11. git show行を追加したり、行を変更したり、行を削除したりする方法はありますか?
- 12. DOM要素を追加したり削除したりすると、動的にメモリリークが発生しますか?
- 13. クラスを追加したり削除したりする際に奇妙な問題が発生しました
- 14. クロム(または任意のブラウザ)では、クラスを追加したり削除したりするときに、diffをCSSスタイルで表示できますか?
- 15. これらのCSSクラスをjQueryで追加したり削除したりするより効率的な方法はありますか?
- 16. PyQtでウィジェットを動的に追加したり削除したりするには、
- 17. Angular JS:ng-repeatのチェックボックスに条件を追加したり削除したりしますか?
- 18. 自動的にタブリストから項目を追加したり削除したりします
- 19. jQuery - 段落をまたいでnext()を使ってクラスを追加したり削除したりする
- 20. Qt3Dでエンティティを追加したり削除したりするとクラッシュします
- 21. EclipseからWeblogic 10.3.6にデプロイする - 「サーバーに追加または削除できるリソースがありません」
- 22. メニュー内のクラスを追加したり削除したりしますが、ページリンクはロードされません。
- 23. これは、データベースを削除したり、テーブルを削除したりするのに適していますか?
- 24. 脚注の追加/削除のイベントはありますか
- 25. Jqueryショッピングカート(追加と削除あり)
- 26. リストから要素を追加したり削除したりするのに最適なArrayList、LinkedList、Vector
- 27. htmlキャンバスで画像を追加したり削除したりするのが遅すぎる
- 28. Xcode:メソッドをリファクタリング/リネームし、そのパラメータを追加(または削除)する方法はありますか?
- 29. メソッドの追加、削除/削除はC#REST APIではありません
- 30. .Netのリストから項目を追加したり削除したりするスレッドセーフな方法
'std :: list'についてはどうですか? –
それは完璧に動作します!ありがとう! – user7795930
'std :: deque'?ランダムアクセスが必要な場合( 'at()'や 'operator []')、私は 'std :: deque'を提案します。そうでなければ 'std :: list'が良い選択だと思います。 – max66