在PHP中,可以使用數組來實現雙向隊列。下面是一個示例代碼:
class Deque {
private $deque;
public function __construct() {
$this->deque = [];
}
public function isEmpty() {
return empty($this->deque);
}
public function pushFront($item) {
array_unshift($this->deque, $item);
}
public function pushBack($item) {
array_push($this->deque, $item);
}
public function popFront() {
if ($this->isEmpty()) {
return null;
}
return array_shift($this->deque);
}
public function popBack() {
if ($this->isEmpty()) {
return null;
}
return array_pop($this->deque);
}
public function peekFront() {
if ($this->isEmpty()) {
return null;
}
return $this->deque[0];
}
public function peekBack() {
if ($this->isEmpty()) {
return null;
}
return $this->deque[count($this->deque) - 1];
}
}
$deque = new Deque();
$deque->pushFront(1);
$deque->pushBack(2);
$deque->pushBack(3);
echo $deque->popFront(); // 輸出: 1
echo $deque->popBack(); // 輸出: 3
echo $deque->peekFront(); // 輸出: 2
echo $deque->peekBack(); // 輸出: 2
在這個示例中,Deque
類表示一個雙向隊列。它使用一個數組 $deque
來存儲隊列中的元素。pushFront
方法將元素添加到隊列的前端,pushBack
方法將元素添加到隊列的后端。popFront
方法從隊列的前端移除并返回元素,popBack
方法從隊列的后端移除并返回元素。peekFront
方法返回隊列的前端元素,peekBack
方法返回隊列的后端元素。isEmpty
方法用于檢查隊列是否為空。
可以根據需要對 Deque
類進行擴展,添加其他方法或功能。