PHP实现-一个双向队列


队列是一种线性表,按照先进先出的原则进行

单向队列:只能从头进,从尾出

$array =  array('PHP', 'JAVA');
array_push($array, 'PYTHON'); //入队列
array_shift($array); //出队列


双向队列:头尾都可以进出

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();


上一篇 下一篇

评论

登录后可发表评论