查詢

Ds\PriorityQueue::push()函式—用法及示例

「 向優先佇列中插入一個新的元素,並按照優先順序自動調整元素的位置 」


函式名:Ds\PriorityQueue::push()

適用版本:PHP 7.2.0 及以上版本

用法:該函式用於向優先佇列中插入一個新的元素,並按照優先順序自動調整元素的位置。

示例:

// 建立一個優先佇列
$queue = new Ds\PriorityQueue();

// 向佇列中新增元素,每個元素都有一個優先順序
$queue->push("apple", 3);
$queue->push("banana", 2);
$queue->push("cabbage", 1);

// 列印佇列中的元素
print_r($queue);

// 輸出:
// Ds\PriorityQueue Object
// (
//     [flags:Ds\PriorityQueue:private] => 0
//     [heap:Ds\PriorityQueue:private] => Array
//         (
//             [0] => cabbage
//             [1] => banana
//             [2] => apple
//         )

//     [map:Ds\PriorityQueue:private] => Array
//         (
//             [cabbage] => 0
//             [banana] => 1
//             [apple] => 2
//         )

// )

注意:push() 函式允許插入具有相同優先順序的元素。如果需要按照先進先出的順序處理優先順序相同的元素,可以使用 Ds\PriorityQueue::push() 和 Ds\PriorityQueue::pop() 結合使用,或者使用 Ds\Deque 來儲存元素。同時,如果想要指定元素的初始位置,可以使用 Ds\PriorityQueue::push() 的第三個可選引數來實現。

補充糾錯
熱門PHP函式
分享連結