優先權佇列可以使用堆來實作。普通隊列是先進先出的資料結構。元素被追加到佇列的末尾並從開頭刪除。在優先權佇列中,元素被指派優先權。存取元素時,首先刪除優先順序最高的元素。例如,醫院的急診室為病患分配優先號碼;優先順序最高的病患首先得到治療。
優先權佇列可以使用堆來實現,其中根是佇列中優先權最高的物件。堆是在堆排序中引入的。優先權佇列的類別圖如下圖所示。它的實現在下面的程式碼中給出。
下面的程式碼給出了為患者使用優先隊列的範例。 Patient 類別在第 21-38 行定義。在第 6-9 行中創建了四個具有相關優先值的患者。第 8 行建立一個優先權佇列。患者排在第 12-15 行。第 18 行將一名患者從隊列中出隊。
辛蒂(優先:7)提姆(優先:5)約翰(優先:2)吉姆(優先:1)
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3