当前位置:网站首页>栈,后入先出

栈,后入先出

2022-06-26 12:32:00 liuliang514218119

<?php

# 后入先出 栈
class stack
{
    
    public $data = [];
    public $size;

    public function __construct($size = 10)
    {
    
        $this->size = $size;
    }

    # 入栈
    public function push($element)
    {
    
        if (count($this->data) >= $this->size) {
    
            throw new Exception("栈已满");
            return "栈已满";
        }
        array_push($this->data, $element);
    }

    # 出栈
    public function pop()
    {
    
        if (count($this->data) < 1) {
    
            throw new Exception("栈为空");
            return "栈为空";
        }
        return array_pop($this->data);
    }

    # 栈顶
    public function get_top()
    {
    
        if (count($this->data) < 1) {
    
            throw new Exception("栈为空");
            return "栈为空";
        }
        return end($this->data);  #内部指针指向数组中的最后一个元素
    }

    public function get_data()
    {
    
        return $this->data;
    }
}

//声明栈
$stack = new stack();
$stack->push(5);
$stack->push(6);
$stack->push(7);
$stack->push(8);
$stack->push(9);
$stack->pop();

print_r($stack->get_top());
echo "\n";
print_r($stack->get_data());
die;

在这里插入图片描述

原网站

版权声明
本文为[liuliang514218119]所创,转载请带上原文链接,感谢
https://blog.csdn.net/liuliang514218119/article/details/125446416