在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
这样就实现了一个简单的双向队列,可以向队列的前端和尾部添加元素,并且可以从前端和尾部弹出元素。