次の記述中の に入れる正しい答えを,解答群の中から選べ。
優先度付きキューを操作するプログラムである。
優先度は整数型の値 1, 2, 3 のいずれかであり、小さい値ほど優先度が高い。 同一優先度の場合は最初に追加された要素から取り出される。
クラス PrioQueue は優先度付きキューを表すクラスである。クラ ス PrioQueue の説明を図に示す。ここで,優先度は整数型の値 1,2,3 のいずれか であり,小さい値ほど優先度が高いものとする。
手続 prioSched を呼び出したとき、出力は の順となる。
コンストラクタ | 説明 |
|---|---|
PrioQueue() | 空の優先度付きキューを生成する。 |
メリッド | 戻り値 | 説明 |
|---|---|---|
enqueue(文字列型: s,整数型: prio) | なし | 優先度付きキューに,文字列 s を要素として,優先度prioで追加する。 |
dequeue() | 文字列型 | 優先度付きキューからキュー内で最も優 先度の高い要素を取り出して返す。最も 優先度の高い要素が複数あるときは,そ のうちの最初に追加された要素を一つ取 り出して返す。 |
size() | 整数型 | 優先度付きキューに格納されている要素 の個数を返す。 |
図 クラス PrioQueue の説明
〔プログラム〕
○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