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