基本情報トップに戻る
練習問題難易度: 2014年度

基本情報技術者 過去問練習問題 第7問

問題

空の状態のキューとスタックの二つのデータ構造がある。次の手続を順に実行した場合、変数 x に代入されるデータはどれか。ここで、手続で引用している関数は、次のとおりとする。 〔関数の定義〕 push(y):データ y をスタックに積む。 pop():データをスタックから取り出して、その値を返す。 enq(y):データ y をキューに挿入する。 deq():データをキューから取り出して、その値を返す。 〔手続〕 push(a) push(b) enq(pop()) enq(c) push(d) push(deq()) x ← pop()

選択肢

  1. 1a
  2. 2b
  3. 3c
  4. 4d

正解

2. b

詳しい解説を見る

解説

スタックは後入れ先出し、キューは先入れ先出しである。push(a)、push(b) でスタックは [a,b]。enq(pop()) で b を取り出しキューへ→キュー [b]、スタック [a]。enq(c) でキュー [b,c]。push(d) でスタック [a,d]。push(deq()) でキュー先頭の b を取り出しスタックへ→スタック [a,d,b]。x←pop() で最後に積んだ b が取り出される。よって「イ」が正しい。(出典: 平成26年度 春期 基本情報技術者試験 午前 問7)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。