php实现双向队列
2016-08-07 19:13
309 查看
队列是一种线性表,按照先进先出的原则进行
单向队列:只能从头进,从尾出
双向队列:头尾都可以进出
<?php
class Deque{
private $queue=array();
function addFirst($item){//头入队
return array_unshift($this->queue,$item);
}
function addLast($item){//尾入队
return array_push($this->queue,$item);
}
function removeFirst(){//头出队
return array_shift($this->queue);
}
function removeLast(){//尾出队
return array_pop($this->queue);
}
function show(){//显示
echo implode(" ",$this->queue);
}
function clear(){//清空
unset($this->queue);
}
function getFirst(){
return array_shift($this->queue);
}
function getLast(){
return array_pop($this->queue);
}
function getLength(){
return count($this->queue);
}
}
$q=new Deque();
$q->addFirst(1);
$q->addLast(5);
$q->removeFirst();
$q->removeLast();
$q->addFirst(2);
$q->addLast(4);
$q->show();// <span style="font-family: Simsun;font-size:14px;">2 4</span>
单向队列:只能从头进,从尾出
双向队列:头尾都可以进出
<?php
class Deque{
private $queue=array();
function addFirst($item){//头入队
return array_unshift($this->queue,$item);
}
function addLast($item){//尾入队
return array_push($this->queue,$item);
}
function removeFirst(){//头出队
return array_shift($this->queue);
}
function removeLast(){//尾出队
return array_pop($this->queue);
}
function show(){//显示
echo implode(" ",$this->queue);
}
function clear(){//清空
unset($this->queue);
}
function getFirst(){
return array_shift($this->queue);
}
function getLast(){
return array_pop($this->queue);
}
function getLength(){
return count($this->queue);
}
}
$q=new Deque();
$q->addFirst(1);
$q->addLast(5);
$q->removeFirst();
$q->removeLast();
$q->addFirst(2);
$q->addLast(4);
$q->show();// <span style="font-family: Simsun;font-size:14px;">2 4</span>
相关文章推荐
- laravel图片上传
- PHP封装FastDFS操作类
- Laravel Debugbar
- 基于ThinkPHP的二叉树左右值无限极分类实现
- PHP数组排序归纳总结
- php二分查找、顺序查找算法
- PHP中如何使用socket进行通信?
- phpstorm配置xdebug(win)
- PHP基础排序算法(五)希尔排序
- 常见排序算法及php实现代码
- PHP中的魔术方法总结
- 留言板之首页模块
- PHP基础排序算法(四)快速排序
- #177 – A Content Presenter Is a Placeholder for a Content Control’s Content
- 13 ftp软件安装过程
- php上传文件(一)
- ThinkPHP 事务处理 (事务回滚) 、异常处理
- PHP编码规范
- PHP 入门小知识
- phpunit php测试框架的安装和使用