優先權佇列可以使用堆疊來實作。普通隊列是先進先出的資料結構。元素被追加到佇列的末尾並從開頭刪除。在優先權佇列中,元素被指派優先權。存取元素時,首先刪除優先順序最高的元素。例如,醫院的急診室為病患分配優先號碼;優先順序最高的病患首先得到治療。
優先權佇列可以使用堆疊來實現,其中根是佇列中優先權最高的物件。堆是在堆排序中引入的。優先權佇列的類別圖如下圖所示。它的實現在下面的程式碼中給出。
下面的程式碼給出了為患者使用優先隊列的範例。 Patient 類別在第 21-38 行中定義。在第 6-9 行中創建了四個具有相關優先值的患者。第 8 行建立一個優先權佇列。患者排在第 12-15 行。 18 號線將一名患者從隊列中移出。
辛蒂(優先:7)提姆(優先:5)約翰(優先:2)吉姆(優先:1)
以上是優先權佇列的詳細內容。更多資訊請關注PHP中文網其他相關文章!