中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據結構之隊列——鏈式存儲結構(php代碼實現)

發布時間:2020-03-19 11:50:47 來源:網絡 閱讀:550 作者:great_yonchin 欄目:web開發
<?php

class QNode{
    public  $data;
    public  $next;
    public function __construct($data){
        $this->data=$data;
        $this->next=null;
    }
}

class LinkQueue{ //鏈隊列包含頭結點,實例化時,此隊列為空
    private $data;
    private $next;
    private $front;//指向頭結點
    private $rear;//指向尾結點
//    private $length;
    public function __construct(){
        $this->data=null;
        $this->next=null;
        $this->front=$this; //指向頭結點
        $this->rear=$this;//指向頭結點
//        $this->length=0;
    }

    //銷毀隊列
    public function DestroyQueue(){
        while($this->front){ //銷毀首先是從頭結點開始
            $this->rear=$this->front->next;
            unset($this->front);
            $this->front=$this->rear;
        }
    }

    //清空隊列
    public function ClearQueue(){
        $p=$this->front->next;
        while($p){
            $q=$p->next;
            unset($p);
            $p=$q;
        }
        $this->front->next=null;
        $this->rear=$this->front;
    }

    //隊列是否為空
    public function QueueEmpty(){
        if($this->front==$this->rear){
            return 'Null';
        }else{
            return 'No Null';
        }
    }

    //隊列的長度
    public function QueueLength(){
        $p=$this->front;
        $i=0;
        while($p != $this->rear){
            $i++;
            $p=$p->next;
        }
        return $i;
//        return $this->length;
    }

    //取得隊頭元素
    public function GetHead(){
        if($this->front==$this->rear){
            return 'ERROR';
        }
        return $this->front->next->data;
    }

    //從隊尾插入元素
    public function EnQueue(){
        $node=new QNode(mt_rand(100,200));
        $node->next=$this->rear->next;
        $this->rear->next=$node;
        $this->rear=$node;
        $this->length++;
    }

    //從隊頭刪除元素
    public function DeQueue(){
        if($this->front==$this->rear){
            return 'ERROR';
        }
        $p=$this->front->next;
        unset($this->front->next);
        $this->front->next=$p->next;

        if($this->rear==$p){ //如果只有一個元素那么,為指針就需要變化了。
            $this->rear=$this->front;
        }
        $this->length--;
        return 'OK';
    }

    //遍歷隊列元素
    public function QueueTraverse(){
        if($this->front==$this->rear){
            return 'ERROR';
        }

        $arr=array();
        $p=$this->front->next;
        while($p){
            $arr[]=$p->data;
            $p=$p->next;
        }
        return $arr;
    }
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

孝感市| 嘉定区| 年辖:市辖区| 泾阳县| 涿州市| 山阴县| 德昌县| 怀宁县| 贵南县| 五寨县| 寿光市| 盐城市| 沐川县| 龙门县| 尼木县| 拜泉县| 八宿县| 泰州市| 苍梧县| 惠州市| 广宁县| 庆云县| 依兰县| 崇州市| 迭部县| 青铜峡市| 临桂县| 虎林市| 建宁县| 湖州市| 石柱| 平原县| 旺苍县| 陵川县| 班玛县| 元阳县| 清镇市| 兴安县| 深泽县| 达州市| 科技|