當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP SplPriorityQueue insert()用法及代碼示例


SplPriorityQueue::insert()函數是PHP中的內置函數,用於通過篩選元素在隊列中插入元素。按給定優先級將元素插入優先級隊列。

用法:

bool SplPriorityQueue::insert( mixed $value, mixed $priority )

參數:該函數接受上述和以下所述的兩個參數:

  • $value:此參數保存需要在優先級隊列中插入的值。
  • $priority:該參數保存優先級隊列的優先級。

返回值:如果成功插入元素,此函數將返回true。



例:

PHP


<?php
  
// Declare a class
class priorityQueue extends SplPriorityQueue {
      
    // Compare function to compare priority
    // queue elements
    public function compare($p1, $p2) {
        if ($p1 === $p2) return 0;
        return $p1 < $p2 ? -1:1;
    }
}
  
// Create an object of priority queue
$obj = new priorityQueue();
  
// Insert elements into the queue
$obj->insert("Geeks",2);
$obj->insert("GFG",1);
$obj->insert("G4G",3);
$obj->insert('G',4);
  
// Display the priority queue elements
var_dump($obj);
  
?>
輸出
object(priorityQueue)#1 (3) {
  ["flags":"SplPriorityQueue":private]=>
  int(1)
  ["isCorrupted":"SplPriorityQueue":private]=>
  bool(false)
  ["heap":"SplPriorityQueue":private]=>
  array(4) {
    [0]=>
    array(2) {
      ["data"]=>
      string(1) "G"
      ["priority"]=>
      int(4)
    }
    [1]=>
    array(2) {
      ["data"]=>
      string(3) "G4G"
      ["priority"]=>
      int(3)
    }
    [2]=>
    array(2) {
      ["data"]=>
      string(5) "Geeks"
      ["priority"]=>
      int(2)
    }
    [3]=>
    array(2) {
      ["data"]=>
      string(3) "GFG"
      ["priority"]=>
      int(1)
    }
  }
}

參考:https://www.php.net/manual/en/splpriorityqueue.insert.php

相關用法


注:本文由純淨天空篩選整理自AshokJaiswal大神的英文原創作品 PHP SplPriorityQueue insert() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。