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

说明:该文章是用数组来实现栈,所以主要会对数组做逻辑操作(数组的逻辑操作在上文有提到 https://segmentfault.com/a/11...

1. 实现逻辑

baseArray = $baseArray;
    }
    
    /**
    * 弹出栈顶元素
    * @return mixed
    */
    public function pop()
    { 
        return $this->baseArray->del($this->baseArray->getSize() - 1);
    }
    
    /**
    * 从栈顶插入元素
    * @param mixed $value
    */
    public function push($value): void
    {
        $this->baseArray->addLast($value);
    }
    
    /**
    * 获取栈顶元素
    * @return mixed
    */
    public function getTopValue()
    { 
        return $this->baseArray->getLast();
    }
    
    /**
    * 打印数组内容
    * @return string
    */
    public function __toString()
    { 
        return (string)$this->baseArray;
    }
}

2. 执行逻辑

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->getTopValue(). PHP_EOL;
// 输出在栈中存在的元素
echo $stack;

3. 打印结果

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

你可能感兴趣的