php怎么实现双向队列
短信预约 -IT技能 免费直播动态提醒
在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
类进行扩展,添加其他方法或功能。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341