私はいつも配列を使用してアイテムをトップにプッシュするためのアルゴリズムを書くことができますが、スタックはおそらく後で使用する方が効率的で簡単です。私はこの機能を探していて見つけられませんでした。C++スタックの一番下に追加する機能はありますか?
答えて
std::stack
は、コンテナアダプタであり、コンテナ自体ではありません。これは、単に定義されたスタックインターフェイスを強制的に押して、push_back()
,pop_back()
、およびback()
の機能を提供するユーザー指定の下位コンテナの上に、スタックの上端にプッシュとポップを提供するだけです。デフォルトではstd::stack
はstd::deque
を基本コンテナとして使用しますが、std::vector
とstd::list
は要件を満たす標準コンテナです(ほとんどの場合はおそらくstd::vector
)。
スタックのもう一方の端にプッシュできるようにするには、効率的にサポートするコンテナを直接使用してください。std::deque
が最適です。
'std :: deque'はこの' std :: stack'の前に聞いたことがなかったものでした。 'std :: deque'はおそらく私が使っているものです。スタックを必要としています。 – Derconug
std::stack
は、完全なストップのFILOデータコンテナです。あなたは背中に追加することができますし、背中から削除することができます。何か他のことが必要な場合は、std::stack
でない容器を使用する必要があります。
を使用してください。これは、一定時間内にデータ構造の「上」と「下」に要素をそれぞれ押し込むための方法を提供しています(std::deque::push_back
とstd::deque::push_front
)。
あなたは達成したいものに間違った容器を使用しているようです。デュークはよりフィット感があるようです。
- 1. scalacheckにquickcheckを追加する機能はありますか?
- 2. C#でプログラムでgridviewの一番下に行を追加しますか?
- 3. スタックの一番上の要素を一番下にスワップする方法
- 4. Django modeladminの一番下にビューを追加します
- 5. 辞書に追加機能がありますか?
- 6. ページの一番下にdivがありますか?
- 7. このコードに下位の機能を追加するには
- 8. スクロールビューのレイアウトの一番下にビューを追加する
- 9. トップdivをスタックの一番下に移動する方法
- 10. ページの一番下にあるdivを切ります
- 11. VSのようにVSコードにC#クラスを追加する拡張機能や方法はありますか?
- 12. rownamesとcolnamesをExcelファイルに追加できる機能はありますか?
- 13. 機能を追加する必要があります
- 14. 改行を追加せずにQPlainTextEditにテキストを追加する方法と、スクロールを一番下に置く方法はありますか?
- 15. Androidのリストの一番下に仕切りを追加するにはどうすればよいですか?
- 16. ブートストラップmultselect要素の一番下にclose/okボタンを追加しますか?
- 17. divのスタックを親divの一番下に貼り付けるにはどうすればよいですか?
- 18. JLabelの下にJButtonのGridLayoutを追加する方法はありますか?
- 19. 私の機能を別の機能に追加しますか?
- 20. C#にGroovyと同等の機能はありますか?
- 21. C++にソケットの拡張機能はありますか?
- 22. Tkinterウィンドウが一番下にあります
- 23. Luaプログラムにエラーがあった場合、そのエラーはスタックの一番上にありますか?
- 24. CakePHPテーブルのプライマリキーが追加機能にありません
- 25. Aboutダイアログに「ヘルプウィンドウのポップアップ」機能を追加する必要があります
- 26. IObservableにIQueryableのような追加機能がありますか? (.NET Rx)
- 27. 一括更新機能をレールに追加する方法は?
- 28. オーバーフロースクロールは、リストの一番下から始まります。
- 29. には、以下のC-機能によりC
- 30. コードの下にあるC++のどの機能を知っていますか?
'std :: deque'の使用はどうですか? – 6502
そのデータ構造体の定義によってスタックの一番下にプッシュすることはできません。代わりにダブルエンドキューを使用してください。 –