次の二つのスタック操作を定義する。
PUSH n : スタックにデータ (整数値n) をプッシュする。
POP: スタックからデータをポップする。
空のスタックに対して、次の順序でスタック操作を行った結果はどれか。
PUSH 1 → PUSH 5 → POP → PUSH 7→ PUSH 6 → PUSH 4 → POP → POP → PUSH 3
ア│ │ イ│ │ ウ│ │ エ│ │
├─┤ ├─┤ ├─┤ ├─┤
│1│ │3│ │3│ │6│
├─┤ ├─┤ ├─┤ ├─┤
│7│ │4│ │7│ │4│
├─┤ ├─┤ ├─┤ ├─┤
│3│ │6│ │1│ │3│
└─┘ └─┘ └─┘ └─┘
ウ
スタックの状態は以下のように変化していく。
※便宜上、スタックの状態を左から順に表記する。
PUSH 1 ・・・ 1
PUSH 5 ・・・ 5, 1
POP ・・・ 1
PUSH 7 ・・・ 7, 1
PUSH 6 ・・・ 6, 7, 1
PUSH 4 ・・・ 4, 6, 7, 1
POP ・・・ 6, 7, 1
POP ・・・ 7, 1
PUSH 3 ・・・ 3, 7, 1
従って、上から順に 3、7、1が正解。
問4 | 目次 | 問6 |