[解決済み] 2つのキューを使用したスタックの実装
2022-04-29 05:30:19
質問
以前、同じような質問がありました。 そこ が、ここでの質問はその逆で、2つのキューをスタックとして使用するものです。 質問は...
2つのキューとその標準的な操作(
enqueue
,
dequeue
,
isempty
,
size
) を実装し、スタックとその標準的な操作 (
pop
,
push
,
isempty
,
size
).
があるはずです。 2 のバージョンで解決します。
- バージョン A : スタックはアイテムをプッシュするときに効率的であるべきである。
- バージョン B : アイテムのポップアップ時にスタックを効率的に使用するようにしました。
私は、特定の言語の実装よりも、アルゴリズムに興味があります。 しかし、私がよく知っている言語( ジャワ , c# , パイソン , ビブ , ジャバスクリプト , php ).
どのように解決するのですか?
バージョンA(効率的なプッシュ)。
-
を押してください。
- queue1 に待ち行列を作る
-
ポップ
- キュー1のサイズが1より大きい間、キュー1からキュー2にデキューされたアイテムをパイプする。
- queue1 の最後の項目を dequeue して返し、queue1 と queue2 の名前を入れ替える。
バージョンB(効率的なポップ)。
-
を押してください。
- queue2 に待ち行列を作る
- queue1 の全アイテムを queue2 に待ち行列させ、queue1 と queue2 の名前を入れ替える。
-
ポップ
- queue1 から deqeue
関連
-
[解決済み] JavaScriptでStackとQueueを実装するには?
-
[解決済み] GenerativeアルゴリズムとDiscriminativeアルゴリズムの違いは何ですか?[クローズド]
-
[解決済み] Googleの "Did you mean? "はどうなっているのか?アルゴリズムの仕組みとは?[クローズド]
-
[解決済み] 木の深さと高さはどう違うのですか?
-
[解決済み] 時計回りに並べると?
-
[解決済み] 行または列に 0 が含まれる場合、行列のすべてのセルに 0 を設定します。
-
[解決済み] 2^nとn*2^nは同じ時間複雑性か?
-
[解決済み] スパイラルでループする
-
[解決済み] Breadth First Search (BFS)が同じことをより速くできるのに、なぜDijkstraのアルゴリズムを使うのですか?
-
[解決済み] ある数字が回文であるかどうかを調べるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン