シングルスタックを使用してキューを実装するようにインタビューで頼まれましたが、できましたが、yieldを使用しても同じことが達成できるかどうかは分かりませんでした?C#で単一スタックを使用してキューを実装するためにyieldを使用できますか
0
A
答えて
0
上記のコメントに基づいて、私はいいえと言います。との1つのスタックを使用することはできません。
OPが述べるように、彼はスタックを逆にするために再帰を使用しました(その底を取得してください)。これは基本的に、ランタイムスタックが2番目のスタックとして使用されるため、2つのスタック(How to implement a queue using two stacks?)を使用してキューを実装することを求める質問で解決策として与えられているものと同じです。
反復を使用する反復メソッド(理論計算機科学の書籍を参照してください)はいつでも書き換えることができますが、これは、同じタスクの別のデータ構造が必要になるため、このタスクの解決には禁止されていますデータを保持するためのサイズ。歩留まりを利用できるようにするには、反復処理を使用する必要があります。
関連する問題
- 1. Cで2つのスタックを使用してキューを実装する
- 2. キューの擬似コードを使用してスタックを実装する
- 3. BFSをキューやスタックなしで実装できますか?
- 4. C++でベクタを使用した単純優先度キューの実装
- 5. C++でリンクリストを使用したキュー実装
- 6. テンプレートを使用したC++でのスタック実装
- 7. C++で循環キューを使用してキューを実装するにはどうすればよいですか?
- 8. 2つのスタックを使用してキューを実装する奇妙なエラー
- 9. リンクリストを使用したキューの実装
- 10. キューを使用したセマフォの実装
- 11. 配列を使用したスタックのC++実装
- 12. Javaでスタックを使用してキューを作成する
- 13. 配列を使用してコードをスタック/キューを使用して変換する
- 14. Go - コンテナ/ヒープを使用して優先キューを実装する
- 15. ArrayListを使用して循環キューを実装する
- 16. LinkedListを使用してキューを実装する
- 17. 単一スタックを使用して順列を生成する
- 18. 、多くのインターフェイスの実装のための単一のレジストリを使用して
- 19. BSTを使用してスタックを実装する
- 20. Javaで配列を使用してスタックを実装
- 21. 無料サービスを使用したジオコーディングのための.netライブラリを簡単に実装できますか?
- 22. Pythonを使用したAzureサービスバスでのキューの実装
- 23. C#でAndroidでカスタムアダプタを使用したフィルタリングを実装する
- 24. C++スタック/キューを使用したXMLファイルの解析
- 25. C++を使用してfastcgiを実装していますか?
- 26. FileStreamを使用してファイルロックを実装できますか?
- 27. JavaScriptを使用してWindowsエクスプローラを実装できますか?
- 28. firebaseを使用してアクティビティトラッカーを実装できますか?
- 29. MacのXcodeでC++でスタック、キュー、リンクリストを使用する最も簡単な方法は何ですか?
- 30. pre_order cでスタックを使用したトラバーサル
yieldは構文的な砂糖であり、アルゴリズムの概念ではありません(あなたはいつもyieldなしで列挙を書き直すことができます)。あなたがその問題をどのように解決したかについてあなたがアイデアを出したなら、助けになるでしょう。私は、同じサイズの第2のメモリ構造を持たないスタックを反転させる方法(タスクに必要な)をすぐに考えることができません。 – PMF
追加:ここにはたくさんの回答があります(例:https://stackoverflow.com/questions/69192/how-to-implement-a-queueusing-two-stacks?rq=1)。 2つのスタックを使用してキューを実装するにはどうすればよいですか? – PMF
@PMFこの質問をする人は、通常、再帰を使用するのを待ちます。もちろん、スタックされたコールスタックと同じサイズで、ポップされたアイテムを第2のメモリ構造に格納します。 – Evk