您当前的位置: 首页 > 学无止境 > 网站建设 网站首页网站建设
使用数组实现堆栈
发布时间:2017-03-26 22:27:17编辑:雪饮阅读()
使用数组实现堆栈:
php中提供的入栈与出栈函数:
<?php
$stack=array("orange","banana");
//入栈
array_push($stack,"apple","duMinJie");
//出栈
$val=array_pop($stack);
echo "Top:".$val;
?>
使用数组实现堆栈(算法层):
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<?php
class MyStack{
private $top=-1;//默认是-1,表示栈是空的
private $maxSize=5;//$maxSize表示栈最大容量
private $stack=array();//
//入栈的操作
public function push($val){
//先判断栈是否已经满了
if($this->top==$this->maxSize-1){
echo "<br/>栈满,不能添加";
return;
}
$this->top++;
$this->stack[$this->top]=$val;
}
//显示栈的所有数据的方法
public function showStack(){
if($this->top==-1){
echo '<br/>栈空';
return;
}
echo "当前栈的情况是。。。。";
for($i=$this->top;$i>-1;$i--){
echo '<br/> stack['.$i.']='.$this->stack[$i];
}
}
//出栈的操作,就是把栈顶的值取出
public function pop(){
//判断是否栈空
if($this->top==-1){
echo "<br/>栈空";
return;
}
//把栈顶的值,取出
$topval=$this->stack[$this->top];
$this->top--;
return $topval;
}
}
$mystack=new MyStack;
$mystack->push('西瓜');
$mystack->push('香蕉');
$mystack->push('橘子');
$mystack->push('柚子');
$mystack->showStack();
$val=$mystack->pop();
echo '<br/>pop出栈了一个数据:'.$val."<br/>";
$mystack->showStack();
?>
</body>
</html>
关键字词:php,数组,堆栈
上一篇:堆栈在内存中存在形式剖析