PHP already has a built-in support for implementing a priority queue using SPL. We can use the SplPriorityQueue class to implement our priority queues. Here is the sample previous example using a linked list, but this time we are choosing SPL:
class MyPQ extends SplPriorityQueue {
public function compare($priority1, $priority2) {
return $priority1 <=> $priority2;
}
}
$agents = new MyPQ();
$agents->insert("Fred", 1);
$agents->insert("John", 2);
$agents->insert("Keith", 3);
$agents->insert("Adiyan", 4);
$agents->insert("Mikhael", 2);
//mode of extraction
$agents->setExtractFlags(MyPQ::EXTR_BOTH);
//Go to TOP
$agents->top();
while ($agents->valid()) {
$current = $agents->current();
echo $current['data'] . "\n";
$agents...