std::priority_queue
とstd::set
(および) は両方とも、std::multiset
要素を格納し、順序付けられた方法でそれらにアクセスできるようにするデータ コンテナーであり、挿入の複雑さは同じでO(log n)
あるため、一方を他方よりも使用する利点は何ですか (または、どのような状況で 1 つが必要になるか)それとも他の?)?
基礎となる構造が異なることは知っていますが、パフォーマンスとさまざまな用途への適合性を比較するときほど、実装の違いには興味がありません。
注:セット内の重複なしについては知っています。std::multiset
とまったく同じ動作をしますstd::set
が、保存されたデータが等しい要素として比較できる場所で使用できるため、私も言及したのはそのためです。したがって、単一/複数のキーの問題についてコメントしないでください。