次の記述中の に入れる正しい答えを、解答群の中から選べ。 優先度付きキューを操作するプログラムである。優先度付きキューとは扱う要素に優先度を付けたキューであり、要素を取り出す際には優先度の高いものから順番に取り出される。クラス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

優先度付きキューは優先度順、同順位は先入れ先出し

頻出基本情報技術者試験2022年度 公開問題 科目B8/アルゴリズムとプログラミング / データ構造

コンストラクタ説明
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

選択肢

正解と解説

正解: "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の順になります。

選択肢ごとの解説

出典:令和4年度 公開問題 基本情報技術者試験 科目B 問8(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。