アルゴリズムとプログラミング

基本情報技術者試験 科目A免除 修了試験 201001 実施分 問5

空の状態のキューとスタックの二つのデータ構造がある。次の手続を順に実行した場合,変数 x に代入されるデータはどれか。ここで,データ y をスタックに挿入することを push(y),スタックからデータを取り出すことを pop(),データ y をキューに挿入することを enq(y),キューからデータを取り出すことを deq(),とそれぞれ表す。
push(a) push(b) enq(pop()) enq(c) push(d) push(deq()) x ← pop()
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 201001 実施分 問5(問題文は IPA の公開問題。解説は当サイト作成)

答えと解説を見る

正解:イ

覚える知識

キューとスタックの操作トレース

スタックは後入れ先出し、キューは先入れ先出しで要素を取り出すデータ構造である。

この問題で必要なこと

スタックはLIFO、キューはFIFOで取り出す。操作を順に追うと、最後にpopされるのはbである。

ひっかけ

スタックとキューの取り出し順を混同すると、aやdなど別の値を選んでしまう。

この知識の出題:本試験系 0 回・免除試験 5 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「スタックとキュー(LIFO と FIFO)」で学ぶ

同じ知識の過去問