优先级队列可以使用堆来实现。普通队列是先进先出的数据结构。元素被追加到队列的末尾并从开头删除。在优先级队列中,元素被分配优先级。访问元素时,首先删除优先级最高的元素。例如,医院的急诊室为患者分配优先号码;优先级最高的患者首先得到治疗。
优先级队列可以使用堆来实现,其中根是队列中优先级最高的对象。堆是在堆排序中引入的。优先级队列的类图如下图所示。它的实现在下面的代码中给出。
下面的代码给出了为患者使用优先级队列的示例。 Patient 类在第 21-38 行中定义。在第 6-9 行中创建了四个具有相关优先级值的患者。第 8 行创建一个优先级队列。患者排在第 12-15 行。 18 号线将一名患者从队列中移出。
辛迪(优先级:7)蒂姆(优先级:5)约翰(优先级:2)吉姆(优先级:1)
以上就是优先级队列的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号