PHP

php如何实现一个双向队列

小亿
85
2024-06-12 12:58:22
栏目: 编程语言

在PHP中,可以使用数组来实现一个双向队列。以下是一个简单的双向队列类的实现示例:

class Deque {
    private $queue = array();
    
    // 向队列前端添加元素
    public function addFront($item) {
        array_unshift($this->queue, $item);
    }
    
    // 向队列尾部添加元素
    public function addRear($item) {
        array_push($this->queue, $item);
    }
    
    // 从队列前端弹出元素
    public function removeFront() {
        return array_shift($this->queue);
    }
    
    // 从队列尾部弹出元素
    public function removeRear() {
        return array_pop($this->queue);
    }
    
    // 获取队列的大小
    public function size() {
        return count($this->queue);
    }
}

使用示例:

$deque = new Deque();

$deque->addFront(1);
$deque->addRear(2);
$deque->addFront(3);

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

这样就实现了一个简单的双向队列,可以向队列的前端和尾部添加元素,并且可以从前端和尾部弹出元素。

0
看了该问题的人还看了