空の状態のキューとスタックの二つのデータ構造がある。次の手続を順に実行した場合,変数 x に代入されるデータはどれか。ここで,手続で引用している関数は,次のとおりとする。 [関数の定義] push(y):データ y をスタックに積む。 pop():データをスタックから取り出して,その値を返す。 enq(y):データ y をキューに挿入する。 deq():データをキューから取り出して,その値を返す。 [手続] push(a) push(b) enq(pop()) enq(c) push(d) push(deq()) x ← pop()
イ. b
スタックは後入先出(LIFO)、キューは先入先出(FIFO)で順を追って状態を更新します。最終的に pop で取り出すのは直前に push した値で、それは deq() で取り出した b です。
基本情報技術者試験 平成26年度 春期 午前 の過去問一覧へ戻る・問7