zoukankan      html  css  js  c++  java
  • php模拟顺序栈基本操作

    php模拟顺序栈基本操作

    一、总结

    写函数什么永远记住边界情况:比如 echo "栈已满!<br/>" ;  栈已空这种,那就能多考虑几种情况,代码就很正宗了

    1、对象生成和java一样,都是new关键字

    2、 属性方法都是 ->  访问

    3、对象的操作只是比java中少了变量类型而已,php不需要变量类型

    二、代码

     1 /**
     2  * Class Stack
     3  * 用PHP模拟顺序栈的基本操作
     4  */
     5 class Stack{
     6     //用默认值直接初始化栈了,也可用构造方法初始化栈
     7     private $top = -1;
     8     private $maxSize = 5;
     9     private $stack = array();
    10 
    11     //入栈
    12     public function push($elem){
    13         if($this->top >= $this->maxSize-1){
    14             echo "栈已满!<br/>";
    15             return;
    16         }
    17         $this->top++;
    18         $this->stack[$this->top] = $elem;
    19     }
    20     //出栈
    21     public function pop(){
    22         if($this->top == -1){
    23             echo "栈是空的!";
    24             return ;
    25         }
    26         $elem = $this->stack[$this->top];
    27         unset($this->stack[$this->top]);
    28         $this->top--;
    29         return $elem;
    30     }
    31     //打印栈
    32     public function show(){
    33         for($i=$this->top;$i>=0;$i--){
    34             echo $this->stack[$i]." ";
    35         }
    36         echo "<br/>";
    37     }
    38 }
    39 
    40 $stack = new Stack();
    41 $stack->push(3);
    42 $stack->push(5);
    43 $stack->push(8);
    44 $stack->push(7);
    45 $stack->push(9);
    46 $stack->push(2);
    47 $stack->show();
    48 $stack->pop();
    49 $stack->pop();
    50 $stack->pop();
    51 $stack->show();
  • 相关阅读:
    MinkowskiPooling池化(上)
    稀疏张量基础
    稀疏张量网络
    英伟达TRTTorch
    闵可夫斯基引擎Minkowski Engine
    reactive和reactor
    today search
    today news 2020-8-8
    如何去写一本精品小书?
    today news
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9027174.html
Copyright © 2011-2022 走看看