<?php /** * 第一種——非循環(huán)順序隊(duì)列的實(shí)現(xiàn)方法 * 隊(duì)列的頭元素在為數(shù)組的下標(biāo)為0的元素 * 這種方法的優(yōu)缺點(diǎn): * 優(yōu)點(diǎn):頭元素始終在下標(biāo)為 0 的第一個(gè)元素,因此不需要設(shè)置頭指針 * 缺點(diǎn):元素出隊(duì)是會(huì)移動(dòng)大量元素,時(shí)間復(fù)雜度為O(n),效率比較低 * */ class SqQueue{ private $SqArr;//隊(duì)列存儲(chǔ)數(shù)組 private $rear;//若隊(duì)列不為空,則指向隊(duì)尾元素的后一個(gè)位置 public function __construct(){ $this->SqArr=array(); $this->rear=0; } //銷毀鏈棧 public function DestroyQueue(){ $this->SqArr=null; $this->rear=0; } //清空隊(duì)列 public function ClearQueue(){ $this->SqArr=array(); $this->rear=0; } //隊(duì)列是否為空 public function QueueEmpty(){ if($this->rear==0){ return 'Null'; }else{ return 'No Null'; } } //隊(duì)列的長(zhǎng)度 public function QueueLength(){ return $this->rear; } //取得隊(duì)頭元素 public function GetHead(){ return $this->SqArr[0]; } //從隊(duì)尾插入元素 public function EnQueue($elem){ $this->SqArr[$this->rear++]=$elem; } //從隊(duì)頭刪除元素 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]);//移動(dòng)完成后,最后一個(gè)元素也就最后一個(gè)元素也就不存在了,所以釋放掉。 $this->rear--; return 'OK'; } //遍歷隊(duì)列元素 public function QueueTraverse(){ $arr=array(); for($i=0;$i<$this->rear;$i++){ $arr[]=$this->SqArr[$i]; } return $arr; return $this->SqArr; } }
分享題目:數(shù)據(jù)結(jié)構(gòu)之隊(duì)列——順序存儲(chǔ)結(jié)構(gòu)(php代碼實(shí)現(xiàn)——方法一)
標(biāo)題URL:http://jinyejixie.com/article18/peoegp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、靜態(tài)網(wǎng)站、微信小程序、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)