今天正式加入优快云博客,每天都会记录一点我所学习的内容和一些小心得☺(刚刚进去IT行业的小菜鸟一枚,还是野路子出身,对于这个行业还不是很了解,请大佬们多多指点指点)。
下班利用晚上的时间在B站学习了一下PHP的设计模式,前节讲到了一些数据结构,其实很早就想要学习一下数据结构与算法了,在讲的时候我就认真学习了一下。
栈(Stack)是一种先进后出的数据结构,我们可以用array_push()和array_pop来模拟实现它。
预先定义一个Stack类,我们可以先设定它的最大长度$theMax= 10;和初始长度$length=0;
class Stack{
     public static $dataInfo =  array();
     public static $theMax= 10;
     public static $length=0;
     public function push($data){
         if(self::$length >= self::$theMax){
             return false;
         }else{
           array_push(self::$dataInfo,$data);
           self::$length ++; 
         }
     }
  }
  当初始长度未到达最大长度是每次想数组后添加一个数值,直到增加到最大值为止。这就相当于入栈。
  public function pop(){
     if(self::$length<=0 ){
         return false;
     }else{
        $data = array_pop(self::$dataInfo);
        self::$length --;
         return $data;
     }
 }
 当初始长度也就相当于数组当前的长度大于0是每次抛出数组最后一个值,这就相当于出栈。
 $stack = new Stack();
 $stack->push(1);
 $stack->push(2);
 echo $stack->pop();
 echo $stack->pop();
 最后输出的结果就是 2  1
 这就是我理解的栈,刚刚接触到数据结构,也只是浅浅的实践一下,希望大家能够一起交流学习!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值