PHP实现的栈数据结构示例【入栈、出栈、遍历栈】

本文实例讲述了PHP实现的栈数据结构。分享给大家供大家参考,具体如下:

利用php面向对象思想,栈的属性有top、最大存储数、和存储容器(这里利用了php数组)。

代码如下:实现了入栈、出栈、遍历栈的几个方法:

stack = array();
}
// 入栈
public function push($ele){
if ($this->top >= self::MAXSIZE-1){
echo 'stack is full...';
return false;
}
$this->stack[++$this->top] = $ele;// 此处必须是++i,先计算再使用
}
// 出栈,返回出栈元素
public function pop(){
if ($this->top == -1){
echo 'stack is empty...';
return false;
}
$ele = $this->stack[$this->top];
unset($this->stack[$this->top--]);// 此处必须是i--,先使用再计算(注意出栈和入栈的区别)
return $ele;
}
// 遍历栈
public function show(){
if ($this->top == -1){
echo 'stack is empty...';
return false;
}
for($i=$this->top; $i>-1; $i--){
echo $this->stack[$i].'
';
}
}
}
$stack = new Stack;
$stack->push(1);
$stack->push(2);
$stack->push(3);
$stack->push(4);
//print_r($stack);
$stack->show();
$a = $stack->pop();
$a = $stack->pop();
$a = $stack->pop();
$stack->show();

运行结果:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》

希望本文所述对大家PHP程序设计有所帮助。

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。