基本情報技術者試験 基本情報技術者試験 令和2年度 科目A 修了認定試験 午前 問7: 空の状態のキューとスタックの二つのデータ構造がある。次の手続を順に実行した場合、変数 x に代入されるデータはどれか。ここで、手続で引用している関数は、次のとお

基本情報技術者試験 令和2年度 科目A 修了認定試験
Q 77 / 80
空の状態のキューとの二つのデータ構造がある。次の手続を順に実行した場合、変数 x に代入されるデータはどれか。ここで、手続で引用している関数は、次のとおりとする。 〔関数の定義〕 - push(y):データ y をスタックに積む。 - pop():データをスタックから取り出して、その値を返す。 - enq(y):データ y をキューに挿入する。 - deq():データをキューから取り出して、その値を返す。 〔手続〕 ``` push(a) push(b) enq(pop()) enq(c) push(d) push(deq()) x ← pop() ```
この問の正解率:48.12%(1,413件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

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

選択肢

  • .a
  • .b
  • .c
  • .d

正解

. b

解説

push(a)→stack=[a], push(b)→[a,b], enq(pop())→stack=[a], queue=[b], enq(c)→queue=[b,c], push(d)→[a,d], push(deq())→stack=[a,d,b](b は queue から deq), x←pop()→x=b。

基本情報技術者試験 令和2年度 科目A 修了認定試験過去問一覧へ戻る・問7