PHP完成一个双向队列例子
- 作者: 五速梦信息网
- 时间: 2026年03月19日 18:06
deque,全名double-ended queue,是一种具有队列和栈的性质的数据结构,双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行,双向队列(双端队列)就像是一个队列,但是你可以在任何一端添加或移除元素.
双端队列(deque)是由一些项的表组成的数据结构,对该数据结构可以进行下列操作:
push(D,X) 将项X 插入到双端队列D的前端
pop(D) 从双端队列D中删除前端项并将其返回
inject(D,X) 将项X插入到双端队列D的尾端
eject(D) 从双端队列D中删除尾端项并将其返回
PHP实现代码如下:
class DoubleQueue
{
public \(queue = array(); <br/>
<br/>
/**(尾部)入队 **/<br/>
public function addLast(\)value)
{
return array_push(\(this->queue,\)value);
}
/(尾部)出队/
public function removeLast()
{
return array_pop(\(this->queue); <br/>
} <br/>
/**(头部)入队**/<br/>
public function addFirst(\)value)
{
return array_unshift(\(this->queue,\)value);
}
/(头部)出队/
public function removeFirst()
{
return array_shift(\(this->queue); <br/>
} <br/>
/**清空队列**/<br/>
public function makeEmpty() <br/>
{ <br/>
unset(\)this->queue);
}
/获取列头/
public function getFirst()
{
return reset(\(this->queue); <br/>
} <br/>
/** 获取列尾 **/<br/>
public function getLast() <br/>
{ <br/>
return end(\)this->queue);
}
/** 获取长度 **/
public function getLength()
{
return count(\(this->queue); <br/>
}<br/>
<br/>
}<br/>
例子,编写支持双端队伍的例程,每种操作均花费O(1)时间,代码如下:<br/>
<br/>
<!--?php <br/-->
class deque<br/>
{<br/>
public \)queue = array();
public \(length = 0;<br/>
<br/>
public function frontAdd(\)node){
array_unshift(\(this->queue,\)node);
\(this->countqueue();<br/>
}<br/>
public function frontRemove(){<br/>
\)node = array_shift(\(this->queue);<br/>
\)this->countqueue();
return \(node;<br/>
}<br/>
<br/>
public function rearAdd(\)node){
array_push(\(this->queue,\)node);
\(this->countqueue();<br/>
}<br/>
<br/>
public function rearRemove(){<br/>
\)node = array_pop(\(this->queue);<br/>
\)this->countqueue();
return $node;
}
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
相关文章
-
初代Surface Duo有望在明年1月更新到Android 11系统
初代Surface Duo有望在明年1月更新到Android 11系统
- 技术栈
- 2026年03月19日
-
黑鲨罗语周发文 明天再说 黑鲨5系列终于要来了?
黑鲨罗语周发文 明天再说 黑鲨5系列终于要来了?
- 技术栈
- 2026年03月19日
-
制作一个简单的命令行测试工具
制作一个简单的命令行测试工具
- 技术栈
- 2026年03月19日
-
php把csv文件导入到mysql数据库
php把csv文件导入到mysql数据库
- 技术栈
- 2026年03月19日
-
通过SEO赚钱的网站依然坚挺
通过SEO赚钱的网站依然坚挺
- 技术栈
- 2026年03月19日
-
成都市消协春节警示:扫码领赠品谨防信息泄露
成都市消协春节警示:扫码领赠品谨防信息泄露
- 技术栈
- 2026年03月19日






