您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

教你用php实现栈结构

2025/11/13 21:40:30发布18次查看
推荐:《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实现栈结构的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product