本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

基本情報技術者の問題解説

データ構造及びアルゴリズム 難しい fe_b_v90_alg_q156

問題

次の循環キュー操作を実行したとき,戻り値はどれか。frontは次に取り出す位置,rearは次に格納する位置を表す。

整数型: size ← 5
整数型: front ← 1, rear ← 1
整数型の配列: q
手続 enqueue(整数型: x)
  q[rear] ← x
  rear ← (rear mod size) + 1
end手続
関数 dequeue()
  整数型: x ← q[front]
  front ← (front mod size) + 1
  return x
end関数
enqueue(4); enqueue(7); dequeue(); enqueue(2); enqueue(9); dequeue(); enqueue(5)
return dequeue() + front × 10 + rear
  1. 41
  2. 43
  3. 51
  4. 61
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.x 科目B範囲

正解と解説

正解:43

正解:43

enqueue 4,7後にrear=3。1回目のdequeueで4を取り出してfront=2。enqueue 2,9後にrear=5。2回目のdequeueで7を取り出してfront=3。enqueue 5でrearは1に循環する。

最後のdequeueでは2を取り出し,frontは4になる。戻り値は2+4×10+1=43。

Hardでの確認点:循環キューでは,frontとrearが指す意味を分ける。frontは次に取り出す位置,rearは次に格納する位置であり,操作後に進む。sizeを超えたら1へ戻る点も表で追う。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.x 科目B範囲

擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。

公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。

参考範囲: 2026年度現行科目B・シラバスVer.9.x参考

RELATED

関連問題