在 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()
方法用于獲取隊列的元素數量。