在 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()
方法用于获取队列的元素数量。