PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器完整实例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器。分享给大家供大家参,具体如下:

栈是线性表的一种,他的特点是后入先出,可以这么理解,栈就像一个存东西的盒子,先放进去的在最底层,后放进去的在上层,因为上层的东西把底层的东西压住了,下层的想要出去就必须把上层的先拿开才行。

介绍代码

data类:就是存放数据的类。()就是要放入栈的东西 stack类:是栈的类,整个对栈就在这个类中

主要方法

入栈push_stack($data)检测栈是否已满,如果没满就让数据入栈。 出栈pop_stack($data)检测栈是否为空,如果不空可以出栈 读取栈顶元素top_stack()如果栈不空,返回当前栈顶部的数据。

下边是代码

PHP;">
data=$data;
    echo $data.":哥入栈了!@H_419_21@";
  }
  public function getData(){
    return $this->data;
  }
  public function __destruct(){
    echo $this->data.":哥走了!@H_419_21@";
  }
}
class stack{
  private $size;
  private $top;
  private $stack=array();
  public function __construct($sizE){
    $this->Init_Stack($sizE);
  }
  //初始化栈
  public function Init_Stack($sizE){
    $this->size=$size;
    $this->top=-1;
  }
  //判断栈是否为空
  public function Empty_Stack(){
    if($this->top==-1)return 1;
    else return 0;
  }
  //判断栈是否已满
  public function Full_Stack(){
    if($this->top<$this->size-1)return 0;
    else return 1;
  }
  //入栈
  public function Push_Stack($data){
    if($this->Full_Stack())echo "栈满了
"; else $this->stack[++$this->top]=new data($data); } //出栈 public function Pop_Stack(){ if($this->Empty_Stack())echo "栈空着呢
"; else unset($this->stack[$this->top--]); } //读取栈顶元素 public function Top_Stack(){ return $this->Empty_Stack()?"栈空无数据!":$this->stack[$this->top]->getData(); } } $stack=new stack(4); $stack->Pop_Stack(); $stack->Push_Stack("aa"); $stack->Push_Stack("aa1"); $stack->Pop_Stack("aa1"); $stack->Push_Stack("aa2"); $stack->Push_Stack("aa3"); $stack->Push_Stack("aa4"); echo $stack->Top_Stack(),'
'; $stack->Push_Stack("aa5"); $stack->Push_Stack("aa6"); $stack->Pop_Stack(); $stack->Pop_Stack(); $stack->Pop_Stack(); $stack->Pop_Stack(); $stack->Pop_Stack(); $stack->Pop_Stack();

大佬总结

以上是大佬教程为你收集整理的PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器完整实例全部内容,希望文章能够帮你解决PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器完整实例所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。