php 实现栈与队列
生活随笔
收集整理的這篇文章主要介紹了
php 实现栈与队列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?php
class queueOp{/** 隊尾入隊* Return:處理之后隊列的元素個數*/public function tailEnquque($arr,$val){return array_push($arr,$val);}/** 隊尾出隊* Return:最后一個值,如果數組為空或不是數組,返回NULL* Comment:僅用于雙向隊列*/public function tailDequeue($arr){return array_pop($arr);}/** 隊首入隊* Return:處理之后隊列的元素個數* Comment:僅用于雙向隊列*/public function headEnqueue($arr,$val){return array_unshift($arr, $var);}/** 隊首出隊* Return:移出的值,如果參數不是數組或數組為空,返回NULL*/public function headDequeue(){return array_shift($arr);}/** 隊列長度* Return:返回隊列的長度(元素個數)*/public function queueLength($arr) {return count($arr);}/** 獲取隊首元素* Return:第一個元素的值,如果隊列為空則返回FALSE*/public function queueHead($arr) {return reset($arr);}/** 獲取隊尾元素* Return:最后一個元素的值,如果隊列為空則返回FALSE*/public function queueTail($arr) {return end($arr);}/** 清空隊列* 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/>";}}
}
?>
轉載于:https://www.cnblogs.com/Czc963239044/p/7498047.html
總結
以上是生活随笔為你收集整理的php 实现栈与队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [SDOI2011]计算器 BSGS
- 下一篇: PHP高效率写法