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



PHP 的 Ds\PriorityQueue::push() 函数用于将具有给定优先级的数值压入队列。此函数不返回值,而是通过添加新元素来修改优先级队列。

语法

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

public void Ds\PriorityQueue::push( mixed $value , int $priority )

参数

以下是 push() 函数的参数:

  • $value - 要添加到队列中的值。

  • $priority - 与值关联的优先级。可以是整数或浮点数。

返回值

push() 函数不返回任何值。优先级队列将通过添加新元素进行更新。

PHP 版本

push() 函数从 Ds 扩展的 1.0.0 版本开始可用。

示例 1

首先,我们将向您展示 PHP Ds\PriorityQueue::push() 函数向优先级队列添加元素的基本示例。

<?php
   // Create a new PriorityQueue
   $pqueue = new \Ds\PriorityQueue();  
   $pqueue->push("Tutorials", 1); 
   $pqueue->push("Point", 2); 
   $pqueue->push("India", 3); 
  
   echo "The PriorityQueue is: \n"; 
   print_r($pqueue);
?>

输出

以上代码将产生类似于以下的结果:

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

示例 2

在这里,我们将使用 push() 函数添加具有不同优先级的待办事项。

<?php
   // Create a new PriorityQueue
   $pqueue = new \Ds\PriorityQueue();
   
   // Push elements with different priorities
   $pqueue->push("Clean the house", 1);
   $pqueue->push("Finish homework", 5);
   $pqueue->push("Go shopping", 3);
   
   // Print the queue
   foreach ($pqueue as $task) {
       echo $task . "\n";
   }
?> 

输出

这将生成以下输出:

Finish homework
Go shopping
Clean the house

示例 3

现在,我们将使用浮点数作为不同的优先级,并使用 push() 函数向 PriorityQueue 添加新元素。

<?php
   // Create a new PriorityQueue
   $pqueue = new \Ds\PriorityQueue();
   
   // Push elements with float priorities
   $pqueue->push("Read a book", 2.5);
   $pqueue->push("Play games", 1.2);
   $pqueue->push("Exercise", 3.7);
   
   // Print the queue
   foreach ($pqueue as $activity) {
       echo $activity . "\n";
   }
?> 

输出

这将创建以下输出:

Exercise
Read a book
Play games

示例 4

在下面的示例中,我们使用 push() 函数向优先级队列添加新项目并处理相同优先级的情况。

<?php
   // Create a new PriorityQueue
   $pqueue = new \Ds\PriorityQueue();
   
   // Push elements with the same priority
   $pqueue->push("Task A", 2);
   $pqueue->push("Task B", 2);
   $pqueue->push("Task C", 2);
   
   // Print the queue
   foreach ($pqueue as $task) {
       echo $task . "\n";
   }
?> 

输出

以下是上述代码的输出:

Task A
Task B
Task C
php_function_reference.htm
广告