平成13年秋期試験問題 午前問13
問13解説へ
スタックとキューの二つのデータ構造がある。次の手続きを順に実行した場合,変数xに代入されるデータはどれか。ここで,
push(a)
push(b)
enq(pop())
enq(c)
push(d)
push(deq())
x←pop()
- データaをスタックに挿入することを,push(a)
- スタックからデータを取り出すことを,pop()
- データaをキューに挿入することを,enq(a)
- キューからデータを取り出すことを,deq()
push(a)
push(b)
enq(pop())
enq(c)
push(d)
push(deq())
x←pop()
- a
- b
- c
- d
広告
解説
スタックは後入先出し、キューは先入先出しのデータ構造です。設問の手続きの実行するとスタックとキューの内容は次のように変化していきます。
- push(a)…aをスタックに挿入する
- push(b)…bをスタックに挿入する
- enq(pop())…スタックから取り出したデータ(b)をキューに挿入する
- enq(c)…cをキューに挿入する
- push(d)…dをスタックに挿入する
- push(deq())…キューから取り出したデータ(b)をスタックに挿入する
- x←pop()…スタックから取り出したデータ(b)をxに代入する
広告