次の記述中の に入れる正しい答えを、解答群の中から選べ。 優先度付きキューを操作するプログラムである。優先度付きキューとは扱う要素に優先度を付けたキューであり、要素を取り出す際には優先度の高いものから順番に取り出される。クラスPrioQueueは優先度付きキューを表すクラスである。クラスPrioQueueの説明を図に示す。ここで、優先度は整数型の値1, 2, 3のいずれかであり、小さい値ほど優先度が高いものとする。 手続prioSchedを呼び出したとき、出力は の順となる。 〔図 クラスPrioQueueの説明〕 コンストラクタ PrioQueue():空の優先度付きキューを生成する。 メソッド enqueue(文字列型: s, 整数型: prio) 戻り値なし:優先度付きキューに、文字列sを要素として、優先度prioで追加する。 dequeue() 戻り値文字列型:優先度付きキューからキュー内で最も優先度の高い要素を取り出して返す。最も優先度の高い要素が複数あるときは、そのうちの最初に追加された要素を一つ取り出して返す。 size() 戻り値整数型:優先度付きキューに格納されている要素の個数を返す。 〔プログラム〕 ○prioSched() PrioQueue: prioQueue ← PrioQueue() prioQueue.enqueue("A", 1) prioQueue.enqueue("B", 2) prioQueue.enqueue("C", 2) prioQueue.enqueue("D", 3) prioQueue.dequeue() /* 戻り値は使用しない */ prioQueue.dequeue() /* 戻り値は使用しない */ prioQueue.enqueue("D", 3) prioQueue.enqueue("B", 2) prioQueue.dequeue() /* 戻り値は使用しない */ prioQueue.dequeue() /* 戻り値は使用しない */ prioQueue.enqueue("C", 2) prioQueue.enqueue("A", 1) while (prioQueue.size() が 0 と等しくない) prioQueue.dequeue() の戻り値を出力 endwhile
優先度付きキューは優先度順、同順位は先入れ先出し
| コンストラクタ | 説明 |
|---|---|
| PrioQueue() | 空の優先度付きキューを生成する。 |
| メソッド | 戻り値 | 説明 |
|---|---|---|
| enqueue(文字列型: s, 整数型: prio) | なし | 優先度付きキューに、文字列sを要素として、優先度prioで追加する。 |
| dequeue() | 文字列型 | 優先度付きキューからキュー内で最も優先度の高い要素を取り出して返す。最も優先度の高い要素が複数あるときは、そのうちの最初に追加された要素を一つ取り出して返す。 |
| size() | 整数型 | 優先度付きキューに格納されている要素の個数を返す。 |
選択肢
- ア"A", "B", "C", "D"
- イ"A", "B", "D", "D"
- ウ"A", "C", "C", "D"
- エ"A", "C", "D", "D"
正解と解説
正解:エ "A", "C", "D", "D"
優先度は数値が小さいほど高く、同じ優先度なら先に入れたものが先に出ます。前半でA(1)とB(2)が取り出され、次にD(3)とB(2)を追加した状態から、優先度2のC、続いて後から入れたB(2)が取り出されます。残ったD(3)とD(3)にC(2)とA(1)を加えて最後まで出力すると、A、C、D、Dの順になります。
選択肢ごとの解説
- ア先に取り出されて消えたBが最後の出力に残っている。
- イ途中で取り出されたBを数え違えた場合の並び。
- ウCが2回出力される想定だが、1つ目のCは途中で取り出されている。
- エ正解。最終的にキューに残るのはA(1)、C(2)、D(3)、D(3)。
同じ分野の他の問題
- 次のプログラム中の a と b に入れる正しい答えの組合せを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。…2026年度 公開問題 科目B 問4
- 次のプログラム中の a と b に入れる正しい答えの組合せを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。…2025年度 公開問題 科目B 問3
- 図の木構造は2分探索木である。a〜gの値の大小関係として,適切なものはどれか。ここで,a〜gの値は重複しないものとする。2025年度 公開問題 科目A 問3
- 次のプログラム中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 図1に示すグラフの…2024年度 公開問題 科目B 問3
- 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表…2023年度 公開問題 科目A 問2
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。