温馨提示×

php如何实现双向队列

PHP
小亿
88
2023-11-07 23:56:12
栏目: 编程语言

在 PHP 中可以使用数组实现双向队列。以下是一个示例代码:

class Deque {
    private $queue;

    public function __construct() {
        $this->queue = array();
    }

    public function isEmpty() {
        return empty($this->queue);
    }

    public function addFront($item) {
        array_unshift($this->queue, $item);
    }

    public function addRear($item) {
        array_push($this->queue, $item);
    }

    public function removeFront() {
        if ($this->isEmpty()) {
            return null;
        }
        return array_shift($this->queue);
    }

    public function removeRear() {
        if ($this->isEmpty()) {
            return null;
        }
        return array_pop($this->queue);
    }

    public function size() {
        return count($this->queue);
    }
}

使用示例:

$deque = new Deque();
$deque->addFront(1);
$deque->addFront(2);
$deque->addRear(3);
$deque->addRear(4);

echo $deque->removeFront(); // 输出:2
echo $deque->removeRear(); // 输出:4
echo $deque->size(); // 输出:2

在上面的示例中,我们使用数组实现了一个简单的双向队列。addFront()addRear() 方法用于向队列的前端和后端添加元素,removeFront()removeRear() 方法用于从队列的前端和后端移除元素,size() 方法用于获取队列的元素数量。

0