• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

2-数据结构PHP实现-用数组来实现栈

php 搞代码 4年前 (2022-03-01) 16次浏览 已收录 0个评论

阐明:该文章是用数组来实现栈,所以会继承数组的逻辑操作(数组的逻辑操作在上文有提到 https://segmentfault.com/a/11…)

1. 实现逻辑

<?php
/**
 * content: 数组栈的实现
 * create: 2020-10-20
 */
namespace StackBundle;

use ArrayBundleBaseArray;

class BaseArrayStack extends BaseArray
{
    /**
    * 弹出栈顶元素
    * @return mixed
    */
    public function pop()
    { 
        return $this->del($this->size - 1);
    }
    
    /**
    * 从栈顶插入元素
    * @param mixed $value
    */
    public function push($value): void
    {
        $this->addLast($value);
    }
    
    /**
     * 敞开从栈头插入元素的办法
     * @param mixed $value
     */
    public function addFirst($value): void
    {
        exit('插入谬误!栈构造无奈在最后面插入数据,只能从尾部插入');
    }
}

2. 执行逻辑

<?php
require_once __DIR__. '/../vendor/autoload.php';
$stack = new StackBundleBaseArrayStack(1);
// 从栈的顶部插入5个元素
$stack->push('a');
$stack->push('b');
$stack->push('c');
$stack->push('d');
$stack->push('e');
// 从栈的顶部弹出4个元素
echo $stack->pop(). PHP_EOL;
echo $stack->pop(). PHP_EOL;
echo $stack->pop(). PHP_EOL;
echo $stack->pop(). PHP_EOL;

echo $stack;

3. 打印后果

e
d
c
b
Array: size = 1, capacity = 1
[a]

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:2-数据结构PHP实现-用数组来实现栈
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址