優先キューを表すバイナリヒープを作成しました。これは、古典的なよく知られたアルゴリズムです。このヒープは、さまざまなイベントの時系列シーケンスをスケジュールします(ソートキーは時間です)。
挿入と削除の2つの操作をサポートします。ヒープの各ノードのキーは、その子のそれぞれ以上です。ただし、同じキーでイベントを追加しても、追加された順序は保持されません。これは、削除または挿入が呼び出された後、ヒープアップおよびヒープダウンプロシージャが順序を壊すためです。
私の質問は、同じ優先順位を持つノードの順序を維持するために、従来のアルゴリズムで何を変更する必要があるかということです。