这期内容当中小编将会给大家带来有关如何用php实现简单的栈结构,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一、栈的定义及知识
1.定义:栈又称为栈或者堆叠,是计算机科学中的一种特殊的串列形式的抽象数据类型,特殊之处在于只允许在链表或者数组的一端(堆栈顶端指针,又称 "top")加入数据push(压栈)和输出数据pop(弹栈),另外栈也可以使用一维数组和链表来实现。
2.栈的特点:
a.先进后出(后进先出),也就是说,我们只能在栈顶端push(压栈)加入数据,也只能在栈顶端pop(弹栈)删除数据;
b.栈除了top(栈顶)和base(栈底)之外,其他的每个元素都有一个前驱和后继;
二、php简单实现栈结构
<?phpclass 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实现简单的栈结构了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。