PHP - Ds\PriorityQueue::clear() Function



The PHP Ds\PriorityQueue::clear() function is used to remove all elements from the priority queue. This method does not return any value. It only removes items from the priority queue. It is useful when you need to reset the queue and start over with a fresh set of priorities.

Syntax

Below is the syntax of the PHP Ds\PriorityQueue::clear() function −

void Ds\PriorityQueue::clear()

Parameters

This function does not take any parameters.

Return Value

The clear() function does not return any value.

PHP Version

This function is available from version 1.0.0 of the Ds extension onwards.

Example 1

First we will show you the basic example of the PHP Ds\PriorityQueue::clear() function to clear the priority queue or to remove all the elements from the queue.

<?php
   // Import the Ds\PriorityQueue here
   use Ds\PriorityQueue;

   // Create a new PriorityQueue
   $pqueue = new PriorityQueue();
   $pqueue->push("A", 1);
   $pqueue->push("B", 2);
   $pqueue->push("C", 3);
   
   // Before clear function
   echo "Count before clear: " . $pqueue->count() . "\n"; 
   
   $pqueue->clear();
   
   // After clear function
   echo "Count after clear: " . $pqueue->count() . "\n"; 
?>

Output

Here is the outcome of the following code −

Count before clear: 3
Count after clear: 0

Example 2

Here we will try to use the clear() function to clear an empty priority queue.

<?php
   // Import the Ds\PriorityQueue here
   use Ds\PriorityQueue;

   // Create a new PriorityQueue
   $pqueue = new PriorityQueue();
   $pqueue->clear();
   
   echo "Count after clear: " . $pqueue->count() . "\n"; 
?> 

Output

This will generate the below output −

Count after clear: 0

Example 3

Now we will use the clear() function for clearing a priority queue with mixed priorities and see the output after clearing it.

<?php
   // Import the Ds\PriorityQueue here
   use Ds\PriorityQueue;

   // Create a new PriorityQueue
   $pqueue = new PriorityQueue();

   // Insert elements in the queue
   $pqueue->push("Task1", 3);
   $pqueue->push("Task2", 5);
   $pqueue->push("Task3", 1);
   $pqueue->push("Task4", 6);
   
   echo "Count before clear: " . $pqueue->count() . "\n"; 
   
   $pqueue->clear();
   
   echo "Count after clear: " . $pqueue->count() . "\n"; 
?> 

Output

This will create the below output −

Count before clear: 3
Count after clear: 0

Example 4

In the following example, we are using the clear() function to clear the queue after processing elements and see the output in the console.

<?php
   // 
   use Ds\PriorityQueue;

   // Create a new PriorityQueue
   $pqueue = new PriorityQueue();

   // Insert elements in the queue
   $pqueue->push("Low", 1);
   $pqueue->push("High", 3);
   $pqueue->push("Medium", 2);
   
   while (!$pqueue->isEmpty()) {
       echo $pqueue->pop() . "\n";
   }
   
   $pqueue->clear();
   
   echo "Count after clear: " . $pqueue->count() . "\n"; 
?> 

Output

Following is the output of the above code −

High
Medium
Low
Count after clear: 0

Example 5

This example shows how to create a priority queue, add entries with priorities, then use the clear() function to return the queue to its starting point.

<?php
   // Create a new PriorityQueue here
   $pqueue = new \Ds\PriorityQueue();
   
   // Push elements
   $pqueue->push("Tutorials", 10); 
   $pqueue->push("Point", 20); 
   $pqueue->push("India", 30); 
  
   echo "The initial PriorityQueue is: \n"; 
   print_r($pqueue); 
  
   $pqueue->clear(); 
  
   echo "\n The PriorityQueue after clear() function: \n"; 
   print_r($pqueue); 
?>

Output

Following is the output of the above code −

The initial PriorityQueue is: 
Ds\PriorityQueue Object
(
    [0] => India
    [1] => Point
    [2] => Tutorials
)

 The PriorityQueue after clear() function: 
Ds\PriorityQueue Object
(
)
php_function_reference.htm
Advertisements