队列是一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作
单向队列:只能从头进,从尾出
双向队列:头尾都可以进出
<?php
/**
* Created by PhpStorm.
* User: Alemon °
* Date: 2017/12/28
*/
class Queue{
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 Queue();
$q->addFirst(1); //头入 1
$q->addLast(5); //尾入 5
$q->removeFirst(); //移除头一个
$q->removeLast(); //移除尾一个
$q->addFirst(2); //头入 2
$q->addLast(4); //尾入 4
$q->show(); //展示