過去問ハブ🔥 0日
データ構造とアルゴリズムリスト・スタック・キュー・木構造難易度 難13 / 50

大きさ N の配列 A[0]〜A[N−1] を循環させて使うキューで、先頭要素の添字を front、格納されている要素数を count とする。キューが満杯でないとき、次に enqueue する要素を格納する添字はどれか。

選択肢をタップすると、その場で答え合わせできます

正解と解説を見る

正解 A(front + count) mod N

解説

正解は「(front + count) mod N」です。循環キューでは、配列の末尾まで使ったら先頭に戻って再利用するため、添字を N で割った余りで計算します。先頭の要素が front 番目にあり、count 個の要素が続いて格納されているので、末尾の次は front + count 番目で、これが N 以上になる場合に先頭側へ折り返すよう mod N を取ります。「front + count」は折り返しを考慮しておらず、配列の範囲外を指すことがあります。「(front - count) mod N」は先頭より前の位置を指し、方向が逆です。「(front + 1) mod N」は、dequeue した後に新しい先頭となる位置で、追加する位置ではありません。

  • #キュー
  • #配列

この調子でデータ構造とアルゴリズムを続けて解く

▶ この科目の連続演習へ進む(10問)

この問題の分野を深く学ぶなら

PR情報工学・理系基礎の教科書を探す

詳細を見る

データ構造とアルゴリズムの問題一覧へ戻る

「リスト・スタック・キュー・木構造」の関連問題