基本情報アルゴリズムについて質問です。なぜ、イが正解ですか?

1件の回答

回答を書く

1209875

2026-03-03 10:55

+ フォロー

見えませんが、トレース表のとおりかと思います。



一般的にキューは先入れ先出し、スタックは後入れ先出しと覚えておくと理解しやすいです。

キューは入れる口と出口が違うので、右から入れて左から出すような。

スタックは上に積んでいくので取り出すのは上から、というイメージです。



設問でも

クラスQueueには最初に追加された要素を取り出して返すというメソッド

クラスStackには最後に追加された要素を取り出して返すというメソッド

が用意されており、キューとスタックの意味と合致した仕様になっています。

(「取り出して返す」とは、元のキュー・スタックからは取り出されたものはなくなります)



2・3行目は良いでしょう。stack・queueとも空です。

4・5行目のstack.pushで順次stackに\u0026quot;a\u0026quot;と\u0026quot;b\u0026quot;を追加し、\u0026quot;ab\u0026quot;になります。

6行目のstack.popでstackに最後に追加された\u0026quot;b\u0026quot;が取り出され、それをqueue.enqでqueueに追加されます。

stackは\u0026quot;a\u0026quot;、queurは\u0026quot;b\u0026quot;になります。



同様に行っていくと、10行目終わり時点でstack=\u0026quot;ae\u0026quot;、queue=\u0026quot;bcd\u0026quot;となります。

11行目のwhile文はstackの要素があるうちは12行目を行い続けるという意味です。

12行目は、stackから末尾を取り出してqueurに追加するという意味ですので、最終的にstackは要素無し、queueは\u0026quot;bcdea\u0026quot;となります。

14行目、queueの先頭を取り出して\u0026quot;b\u0026quot;。

15行目、queueの先頭を取り出して\u0026quot;c\u0026quot;。

というわけでb→cとなります。



途中どこか間違ってたらごめんなさい。でも原理は以上のとおりです。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有