スタックで出力可能なデータ列

スタックは後入れ先出し(LIFO)構造です。入力A, B, C, Dの順序でPUSHとPOPを組み合わせた場合、POPされる順序としてあり得ないものを検証すると、ウの順序はスタック動作と整合しないため、ウが正解です。 スタックの操作順序(PUSHとPOP)を各選択肢についてシミュレートする。 ウの順序を出力しようとすると、取り出すべき要素がスタックの奥に埋もれており矛盾が生じる。 したがってウは出力不可能である。

A,B,C,Dの順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。

出典平成29年度 秋期 基本情報技術者試験 午前 問5
A,D,B,C
B,D,A,C
C,B,D,A
D,C,A,B