スタックは後入れ先出し(LIFO)の構造であり,データは A, B, C, D の順に到着するので,この順にプッシュし,任意のタイミングでポップして出力する。
「ウ C, B, D, A」は次の手順で出力できる。
- A, B, C を順にプッシュする(スタック:下から A, B, C)。
- ポップして C を出力する。
- ポップして B を出力する。
- D をプッシュする(スタック:下から A, D)。
- ポップして D を出力する。
- ポップして A を出力する。
他の選択肢は実現できない。例えば「ア A, D, B, C」は A を出力した後,D を出力するために B, C, D を積むと,D の次に取り出せるのは C であり,B を先に出力できない。同様に「イ」「エ」も途中で順序が合わなくなる。したがって,正解は「ウ」です。