2010-12-11 8 views
-1

優先順位が最も高いキューの要素値を取得することを推奨する必要があります。C++で循環キューを使用してキューを実装するにはどうすればよいですか?

+2

定義上はキューではありません。代わりにヒープを使用してください。 – Drakosha

+0

std :: priority_queueがあります。 – Puppy

+0

摩擦が発生しているようです。たぶんあなたはいくつかの文脈を追加することができます - どれだけ多くの優先順位がありますか?何がより広い目標か、これは抽象的な質問です。私はいくつかの固定サイズの優先キューを欲していると思いますか?コメント者の一部が直接回答するのに役立つかもしれません... –

答えて

0

優先度の異なる複数のキューが必要ですか?実際に解決しようとしている問題は何ですか?

キューのアイデアは、それがキューであり、キュー内の次のものが優先されるため、キューから抜け出すだけです。循環しているかどうかにかかわらず、別のキューを持つ優先キューを実装することは、最も効率的な方法ではありません。代わりに、ヒープまたはツリーとして実装することができます - Wikipedia on priority queuesに1つを含む多くの記事があります。

+1

ええ、優先順位のキューは違うhttp://en.wikipedia.org/wiki/Priority_queue – Falmarri

+0

複数のキューが最適なソリューションではありません。 – Dialecticus

+0

@Falmarri - 私の答えを正しく読んだり解釈したりするかどうかはわかりません。他のキューと優先順位キューを作ることは意味をなさない - あなたがそのポイントを逃したと思う。 –

0

バイナリミニヒープとして実装された優先度キューを作成できます。各エントリのキーは「優先度」を表し、キーが低いほど優先度は高くなります。したがって、ルートエントリを削除すると、最も優先度の高いエントリが返されます。

関連する問題