清华大学韩顺平讲师讲算法之二(下),用数组来建栈

来源:互联网 发布:cupid美瞳淘宝 编辑:程序博客网 时间:2024/04/28 09:51
<html><head><meta http-equiv='content-type' content='text/html;charset=utf-8'><title>使用数组来模拟栈的操作</title></head><body><p>php的数组中提供的入栈array_push,array_pop,今天我们要自己实现,入栈出栈。</p><?phpclass MyStack{private $top=-1;//默认为-1,表示此栈为空private $maxSize=5;//表示栈的最大容量private $stack=array();public function push($val){//是否已满if($this->top == $this->maxSize-1){echo '<br> its over now';return;}//if$this->top++;$this->stack[$this->top]=$val;}//push//显示栈的所有的数据方法public function showStack(){if($this->top==-1){echo '<br>its empty';return;}for($i=$this->top;$i>-1;$i--){echo '<br>stack['.$i.']='.$this->stack[$i];}}//showStack//出栈,把栈顶的值取出public function pop(){if($this->top == -1){echo '<br>its empty.';return;}else{//把栈顶的值,取出$topVal=$this->stack[$this->top];$this->top--;return $topVal;}//if}//pop}//class$mystack=new MyStack;$mystack->push('123');$mystack->push('abc');$mystack->push('a2b3');echo '<br>弹出前的样子:';$mystack->showStack();$val=$mystack->pop();echo '<br>pop 的数据是:'.$val;echo '<br>弹出后的样子是:';$mystack->showStack();?></body></html>

原创粉丝点击