PHP - Ds\PriorityQueue::clear() 函数



PHP 的 **Ds\PriorityQueue::clear()** 函数用于移除优先级队列中的所有元素。此方法不返回值,只移除优先级队列中的项目。当您需要重置队列并从新的优先级集开始时,此方法非常有用。

语法

以下是 PHP **Ds\PriorityQueue::clear()** 函数的语法:

void Ds\PriorityQueue::clear()

参数

此函数不接受任何参数。

返回值

**clear()** 函数不返回值。

PHP 版本

此函数从 Ds 扩展 1.0.0 版本开始可用。

示例 1

首先,我们将向您展示 PHP **Ds\PriorityQueue::clear()** 函数清除优先级队列或移除队列中所有元素的基本示例。

<?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"; 
?>

输出

以下是以下代码的结果:

Count before clear: 3
Count after clear: 0

示例 2

在这里,我们将尝试使用 **clear()** 函数清除一个空的优先级队列。

<?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"; 
?> 

输出

这将生成以下输出:

Count after clear: 0

示例 3

现在,我们将使用 **clear()** 函数清除一个具有混合优先级的优先级队列,并在清除后查看输出。

<?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"; 
?> 

输出

这将创建以下输出:

Count before clear: 3
Count after clear: 0

示例 4

在下面的示例中,我们使用 **clear()** 函数在处理元素后清除队列,并在控制台中查看输出。

<?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"; 
?> 

输出

以下是上述代码的输出:

High
Medium
Low
Count after clear: 0

示例 5

此示例演示如何创建一个优先级队列,添加具有优先级的条目,然后使用 **clear()** 函数将队列返回到其起点。

<?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); 
?>

输出

以下是上述代码的输出:

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
广告