PHP - PriorityQueue Functions



PriorityQueue is very similar to the Queue. The values are pushed into the queue with an assigned priority, and the value with the highest priority can always be at the front of the queue. It is implemented by using a max heap.

Requirements

PHP 7 is required for both extension and the compatibility polyfill.

Installation

The easiest way to install data structure by using the PECL extension.

pecl install ds

Syntax

public Ds\PriorityQueue::functionName()

Class Synopsis

Ds\PriorityQueue implements Ds\Collection {
   /* Constants */
   const int MIN_CAPACITY = 8 ;
   
   /* Methods */
   public void allocate( int $capacity )
   public int capacity( void )
   public void clear( void )
   public Ds\PriorityQueue copy( void )
   public bool isEmpty( void )
   public mixed peek( void )
   public mixed pop( void )
   public void push( mixed $value, int $priority )
   public array toArray( void )
}

Predefined Constants

Ds\PriorityQueue::MIN_CAPACITY

List of Functions

Here is the complete list of functions available in the PriorityQueue class −

Sr.No Function & Description PHP Version
1

Ds\PriorityQueue::allocate() Function

This function can allocate enough memory for the required capacity.

2

Ds\PriorityQueue::capacity() Function

This function can return the current capacity.

3

Ds\PriorityQueue::clear() Function

This function can remove all values from the queue.

4

Ds\PriorityQueue::__construct() Function

This function can create a new instance.

5

Ds\PriorityQueue::copy() Function

This function can return a shallow copy of the queue.

6

Ds\PriorityQueue::count() Function

This function can be used to get the count of elements present in PriorityQueue.

7

Ds\PriorityQueue::isEmpty() Function

This function can return whether the queue is empty.

8

Ds\PriorityQueue::jsonSerialize() Function

This function can return a representation that can be converted to JSON.

9

Ds\PriorityQueue::peek() Function

This function can return a value at the front of a queue.

10

Ds\PriorityQueue::pop() Function

This function can remove and return a value with highest priority.

11

Ds\PriorityQueue::push() Function

This function can push the values with a given priority into a queue.

12

Ds\PriorityQueue::toArray() Function

This function can convert the queue to an array.

Important Note

Here is the important point to keep in mind −

  1. The "first in, first out" ordering is preserved for values with the same priority.
  2. Iterating over a PriorityQueue destructively is equivalent to continuously running pop operations across the queue until it is empty.
php_function_reference.htm
Advertisements