php实现顺序栈的基本操作

26 篇文章 0 订阅


<?php
class Stack{  
    //用默认值直接初始化栈了,也可用构造方法初始化栈  
    private $top = -1;  
    private $maxSize = 3;  
    private $stack = array();  
  
    //入栈  
    public function push($elem){  
        if($this->top >= $this->maxSize-1){  
            echo "栈已满!<br/>";  
            return;  
        }  
        $this->top++;  
        $this->stack[$this->top] = $elem;  
    }  
    //出栈  
    public function pop(){  
        if($this->top == -1){  
            echo "栈是空的!";  
            return ;  
        }  
        $elem = $this->stack[$this->top];  
        unset($this->stack[$this->top]);  
        $this->top--;  
        return $elem;  
    }  
    //打印栈  
    public function show(){  
        for($i=$this->top;$i>=0;$i--){  
            echo $this->stack[$i]." ";  
        }  
        echo "<br/>";  
    }  
}  
  
$stack = new Stack();  
$stack->push(1);  
$stack->push(2);  
$stack->push(3);  
$stack->push(4);   
$stack->show();  
$stack->pop();  
$stack->pop();  
$stack->pop();  
$stack->show(); 
结果:
栈已满!
3 2 1 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值