std :: vector内のいくつかのカスタムオブジェクトでstd :: priority_queueを使用しています。ここで、top()関数を呼び出すときに同じ優先度のオブジェクトがあると仮定し、古いものから新しいものの順にオブジェクトを取得します。だから私の質問は、同じ優先順位の場合にtop()が最新のオブジェクトを返すようにこの動作を変更することは可能ですか?
簡単な(しかし有限の)解決策は、カウンターを保持し、挿入時のカウンターの値を、他の点では等しいオブジェクトの2次キーとして使用することです。アップではなくカウントダウンすると、優先順位が逆になります。
カウンターがラップする可能性があるため有限ですが、long long
それは大きなリスクではありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加