PHP - Ds\PriorityQueue::pop() 函式



PHP 的 Ds\PriorityQueue::pop() 函式用於移除並返回佇列前端的值,這意味著具有最高優先順序的值。

語法

以下是 PHP Ds\PriorityQueue::pop() 函式的語法:

public mixed Ds\PriorityQueue::pop( void )

引數

此函式沒有任何引數。

返回值

pop() 函式返回已移除的值,該值位於佇列前端。

異常

如果 PriorityQueue 為空,則 pop() 函式會丟擲 UnderflowException。

PHP 版本

pop() 函式從 Ds 擴充套件的 1.0.0 版本開始可用。

示例 1

以下是 PHP Ds\PriorityQueue::pop() 函式的基本示例,向您展示如何從佇列中彈出元素。

<?php
   //Create a new PriorityQueue
   $pqueue = new \Ds\PriorityQueue(); 

   // Push elements in the queue
   &pqueue->push("A", 3);
   &pqueue->push("B", 2);
   &pqueue->push("C", 1);
   
   // Pop element and echo it
   echo "The element has been popped from the queue: ".&pqueue->pop(); 
?> 

輸出

這將生成以下輸出:

The element has been popped from the queue: A

示例 2

在下面的 PHP 程式碼中,我們將嘗試使用 pop() 函式並從佇列中彈出第一個插入的元素。在我們的示例中,將彈出 point,因為它的優先順序為 3。因此,將列印佇列的其餘部分。

<?php
   // Create a new PriorityQueue
   $pqueue = new \Ds\PriorityQueue(); 
   
   // Push elements in the queue
   $pqueue->push("Tutorials", 1); 
   $pqueue->push("Point", 3); 
   $pqueue->push("India", 2); 
  
   echo "The initial PriorityQueue is: \n"; 
   print_r($pqueue); 
  
   echo "\n The popped element is:"; 
   print_r($pqueue->pop()); 
  
   echo "\n The final PriorityQueue is: \n";
   print_r($pqueue); 
?>

輸出

以上程式碼將產生類似以下的結果:

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

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

示例 3

現在,以下程式碼使用 pop() 函式並按優先順序順序彈出所有元素。因此,在我們的示例中,3 是最高優先順序,1 是最低優先順序。

<?php
   // Create a new PriorityQueue
   $pqueue = new \Ds\PriorityQueue();

   // Push elements in the queue
   &pqueue->push("First", 1);
   &pqueue->push("Second", 2);
   &pqueue->push("Third", 3);
   
   echo &pqueue->pop(); 
   echo "\n".$pqueue->pop(); 
   echo "\n".$pqueue->pop();
?> 

輸出

這將建立以下輸出:

Third
Second
First

示例 4

在以下示例中,我們使用 pop() 函式並處理空佇列。因此,如果發現佇列為空,我們將向用戶列印訊息。

<?php
   // Create a new PriorityQueue
   $pqueue = new \Ds\PriorityQueue();
   $pqueue->push("First Element", 1);
   echo $pqueue->pop()."\n"; 
   
   // Trying to pop from an empty queue
   try {
       $pqueue->pop();
   } catch (UnderflowException $e) {
       echo "Queue is empty"; 
   }
?> 

輸出

以下是上述程式碼的輸出:

First Element
Queue is empty
php_function_reference.htm
廣告