資料結構之隊列——順序儲存結構(php代碼實現——方法一)

來源:互聯網
上載者:User

標籤:資料結構 隊列 php

<?php/** * 第一種——非迴圈順序隊列的實現方法 * 隊列的頭元素在為數組的下標為0的元素 * 這種方法的優缺點: *  優點:頭元素始終在下標為 0 的第一個元素,因此不需要設定頭指標 *  缺點:元素出隊是會移動大量元素,時間複雜度為O(n),效率比較低 * */class SqQueue{    private $SqArr;//佇列儲存體數組    private $rear;//若隊列不為空白,則指向隊尾元素的後一個位置    public function __construct(){        $this->SqArr=array();        $this->rear=0;    }    //銷毀鏈棧    public function DestroyQueue(){        $this->SqArr=null;        $this->rear=0;    }    //清空隊列    public function ClearQueue(){        $this->SqArr=array();        $this->rear=0;    }    //隊列是否為空白    public function QueueEmpty(){        if($this->rear==0){            return ‘Null‘;        }else{            return ‘No Null‘;        }    }    //隊列的長度    public function QueueLength(){        return $this->rear;    }    //取得隊頭元素    public function GetHead(){        return $this->SqArr[0];    }    //從隊尾插入元素    public function EnQueue($elem){        $this->SqArr[$this->rear++]=$elem;    }    //從隊頭刪除元素    public function DeQueue(){        if($this->rear == 0){            return ‘ERROR‘;        }        for($i=1;$i<$this->rear;$i++){            $this->SqArr[$i-1]=$this->SqArr[$i];        }        unset($this->SqArr[$this->rear-1]);//移動完成後,最後一個元素也就最後一個元素也就不存在了,所以釋放掉。        $this->rear--;        return ‘OK‘;    }    //遍曆隊列元素    public function QueueTraverse(){        $arr=array();        for($i=0;$i<$this->rear;$i++){            $arr[]=$this->SqArr[$i];        }        return $arr;        return $this->SqArr;    }}


本文出自 “一切皆有可能” 部落格,請務必保留此出處http://noican.blog.51cto.com/4081966/1600884

資料結構之隊列——順序儲存結構(php代碼實現——方法一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.