保举:《PHP视频教程》
1、栈的界说及常识
1.界说:栈又称为栈或许重叠,是较量争论机迷信中的一种非凡的串列方式的形象数据类型,非凡的地方正在于只容许正在链表或许数组的一端(货仓旅馆顶端指针,又称 "top")退出数据push(压栈)以及输入数据pop(弹栈),另外栈也能够应用一维数组以及链表来完成。
2.栈的特性:
a.进步前辈后出(落后先出),也就是说,咱们只能正在栈顶端push(压栈)退出数据,也只能正在栈顶端pop(弹栈)删除了数据;
b.栈除了了top(栈顶)以及base(栈底)以外,其余的每一个元素都有一个先驱以及后继;
2、php简略完成栈构造
<?php class HeapStack{ private $stackArr = array(); private $stackMaxTop = 10; // 栈顶最年夜值(用于管制栈长度,能否栈满) private $top = -1; // 栈顶(会跟着push或pop的操作而变动) private $out; /** * 入栈 * */ public function pushValue($value='') { if(empty($value)) return '压入的值不克不及为空'; if($this->top == $this->stackMaxTop) return '栈内已满'; array_push($this->stackArr, $value); ++$this->top; return '入栈胜利,栈顶值:'.$this->top; } /** * 出栈 * */ public function popValue() { if($this->top == -1) return '栈内不数据'; $this->out = array_pop($this->stackArr); --$this->top; return '出栈胜利,以后栈顶值:'.$this->top.'出栈值:'.$this->out; } /** * 猎取栈内信息 */ public function getSatck() { return $this->stackArr; } public function __destruct() { echo 'over '; } } $stack = new HeapStack(); echo $stack->pushValue('stackValue')."\n"; echo $stack->pushValue('stackValue2')."\n"; var_dump($stack->getSatck()); echo $stack->popValue()."\n"; var_dump($stack->getSatck());
以上就是教你用php完成栈构造的具体内容,更多请存眷资源魔其它相干文章!
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!