A generic min-priority queue class

(Available since version 1.0)

Introduction

This is the abstract base class from which all the min-priority queue implementations in this library are derived.

It provides the same interface as SplPriorityQueue with the extra method, PriorityQueue::update() which allows one to change the priority of a node in the queue.

Note:

This class is not intended for public consumption. Most users should instead be deriving from one of the concrete classes, such as the pairing min-priority queue class.

Class synopsis

SEIDS::Heaps::MinPriorityQueue extends SEIDS::Heaps::PriorityQueue {
/* Inherited constants */
const int PriorityQueue::EXTR_DATA = 1 ;
const int PriorityQueue::EXTR_BOTH = 3 ;
/* Inherited properties */
protected mixed $DataStructure ;
protected int $flags = PriorityQueue::EXTR_DATA ;
/* Methods */
protected int compare ( mixed $priority1 , mixed $priority2 )
/* Inherited methods */
abstract public PriorityQueue::__construct ( void )
public void PriorityQueue::__clone ( void )
public int PriorityQueue::count ( void )
public mixed PriorityQueue::current ( void )
public mixed PriorityQueue::extract ( void )
public bool PriorityQueue::insert ( mixed $value , mixed $priority )
public bool PriorityQueue::isEmpty ( void )
public int PriorityQueue::key ( void )
public void PriorityQueue::next ( void )
public void PriorityQueue::rewind ( void )
public int PriorityQueue::setExtractFlags ( int $flags )
public mixed PriorityQueue::top ( void )
public void PriorityQueue::update ( mixed $value , mixed $priority )
public bool PriorityQueue::valid ( void )
protected mixed PriorityQueue::processExtract ( SEIDS::Heaps::PriorityQueueHeapItem $extract )
}

Table of Contents

To Top