温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用php实现简单的栈结构

发布时间:2021-06-23 15:29:18 来源:亿速云 阅读:138 作者:Leah 栏目:编程语言

这期内容当中小编将会给大家带来有关如何用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实现简单的栈结构了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI