这只是一个基础版本的双向队列
/**
* 双向队列
*/
class TwoWayQueue
{
// 队列
private $queue = [];
/**
* [setFirst 数组开头插入一个元素]
* @param [type] $item [description]
*/
public function setFirst($item)
{
return array_unshift($this->queue, $item);
}
/**
* [delFirst 删除数组开头的一个元素]
* @return [type] [description]
*/
public function delFirst()
{
return array_shift($this->queue);
}
/**
* [setLast 数组尾部插入一个元素]
* @param [type] $item [description]
*/
public function setLast($item)
{
return array_push($this->queue, $item);
}
/**
* [delLast 删除数组尾部的一个元素]
* @return [type] [description]
*/
public function delLast()
{
return array_pop($this->queue);
}
}