php 实现栈与队列
生活随笔
收集整理的這篇文章主要介紹了
php 实现栈与队列
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
<?php
class queueOp{/** 隊(duì)尾入隊(duì)* Return:處理之后隊(duì)列的元素個數(shù)*/public function tailEnquque($arr,$val){return array_push($arr,$val);}/** 隊(duì)尾出隊(duì)* Return:最后一個值,如果數(shù)組為空或不是數(shù)組,返回NULL* Comment:僅用于雙向隊(duì)列*/public function tailDequeue($arr){return array_pop($arr);}/** 隊(duì)首入隊(duì)* Return:處理之后隊(duì)列的元素個數(shù)* Comment:僅用于雙向隊(duì)列*/public function headEnqueue($arr,$val){return array_unshift($arr, $var);}/** 隊(duì)首出隊(duì)* Return:移出的值,如果參數(shù)不是數(shù)組或數(shù)組為空,返回NULL*/public function headDequeue(){return array_shift($arr);}/** 隊(duì)列長度* Return:返回隊(duì)列的長度(元素個數(shù))*/public function queueLength($arr) {return count($arr);}/** 獲取隊(duì)首元素* Return:第一個元素的值,如果隊(duì)列為空則返回FALSE*/public function queueHead($arr) {return reset($arr);}/** 獲取隊(duì)尾元素* Return:最后一個元素的值,如果隊(duì)列為空則返回FALSE*/public function queueTail($arr) {return end($arr);}/** 清空隊(duì)列* Return:無返回值*/public function clearQueue($arr) {unset($arr);}}<?php
class phpStack{public $top = -1;public $size = 5;public $stack = array();public function __construct($size){$this->size = $size;}public function push($item){if($this->isFull()){return ;}$this->top++;$this->stack[$this->top]=$item;}public function pop(){if($this->isEmpty()){return ;}$ret = $this->stack[$this->top];$this->top--;return $ret;}public function isFull(){if(($this->top+1)>=$this->size){echo "The stack is full!";return true;}}public function isEmpty(){if($this->top==-1){echo "The stack is empty";return true;}}public function show(){for($i=$this->top;$i>-1;$i--){echo $i."元素為:".$this->stack[$i]."<br/>";}}
}
?>
轉(zhuǎn)載于:https://www.cnblogs.com/Czc963239044/p/7498047.html
總結(jié)
以上是生活随笔為你收集整理的php 实现栈与队列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [SDOI2011]计算器 BSGS
- 下一篇: PHP高效率写法