修了試験 2022-07-24実施分 基本情報技術者試験 問7
空の状態のキューとスタックの二つのデータ構造がある。 次の手続を順に実行した場合,変数xに代入されるデータはどれか。 ここで,手続で引用している関数は,次のとおりとする。 〔関数の定義〕 push(y):データyをスタックに積む。 pop():データをスタックから取り出して,その値を返す。 enq(y):データyをキューに挿入する。 deq():データをキューから取り出して,その値を返す。 〔手続〕 push(a) push(b) enq(pop()) enq(c) push(d) push(deq()) x ← pop()
正答2
解説
正解はイ。 push(a)push(b)でスタックは[a,b]。 pop()でbを取り出しenqしキューは[b]。 enq(c)でキューは[b,c]。 push(d)でスタックは[a,d]。 deq()で先頭のbを取り出しpushしスタックは[a,d,b]。 最後のpop()でbが取り出される。まとめて解く
修了試験 2022-07-24実施分を通しで解く(80問)→