首頁  >  文章  >  後端開發  >  php實作雙向佇列的實例

php實作雙向佇列的實例

小云云
小云云原創
2018-03-07 09:28:101667瀏覽

簡單介紹一下在實際使用中,還可以有輸出受限的雙向佇列(即一個端點允許插入和刪除,另一個端點只允許插入的雙向佇列)和輸入受限的雙向佇列(即一個端點允許插入和刪除,另一個端點只允許刪除的雙向佇列)。而如果限定雙向佇列從某個端點插入的元素只能從該端點刪除,則該雙向佇列就蛻變為兩個棧底相鄰的棧了。

1.單向佇列:只能從頭進,從尾出
2.雙向佇列:頭尾都可以進出

<?php
    class duilie{
        private $arr=array();        //从头进
        public function Head_in($item){
            return array_unshift($this->arr,$item);
        }        //从头出
        public function Head_out(){
            return array_shift($this->arr);
        }        //从尾进
        public function Tail_in($item){
            return array_push($this->arr,$item);
        }        //从尾出
        public function Tail_out(){
            return array_pop($this->arr);
        }        //清空队列
        public function clear(){
            unset($this->arr);
        }        //显示队列
        public function show(){
            return implode(&#39; &#39;,$this->arr);
        }        //获得队列队尾的值
        public function get_last(){
            return array_pop($this->arr);
        }        //获得队列队首的值
        public function get_first(){
            return array_shift($this->arr);
        }
    }    $obj=new duilie();    $obj->Tail_in(&#39;a&#39;);    $obj->Head_in(&#39;b&#39;);    $obj->Head_in(&#39;c&#39;);    $obj->Tail_out();    $arr=$obj->show();    echo $arr;?>

               

1.單向。佇列:只能從頭進,從尾出
2.雙向佇列:頭尾都可以進出

<?php
    class duilie{
        private $arr=array();        //从头进
        public function Head_in($item){
            return array_unshift($this->arr,$item);
        }        //从头出
        public function Head_out(){
            return array_shift($this->arr);
        }        //从尾进
        public function Tail_in($item){
            return array_push($this->arr,$item);
        }        //从尾出
        public function Tail_out(){
            return array_pop($this->arr);
        }        //清空队列
        public function clear(){
            unset($this->arr);
        }        //显示队列
        public function show(){
            return implode(&#39; &#39;,$this->arr);
        }        //获得队列队尾的值
        public function get_last(){
            return array_pop($this->arr);
        }        //获得队列队首的值
        public function get_first(){
            return array_shift($this->arr);
        }
    }    $obj=new duilie();    $obj->Tail_in(&#39;a&#39;);    $obj->Head_in(&#39;b&#39;);    $obj->Head_in(&#39;c&#39;);    $obj->Tail_out();    $arr=$obj->show();    echo $arr;?>

相關推薦:

##有關雙向佇列類別的課程建議

如何使用php實作一個雙向佇列的程式碼實例

#php 雙向佇列類別

以上是php實作雙向佇列的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn