<html>
<head>
<meta http-equiv='content-type' content='text/html;charset=utf-8'>
<title>使用数组来模拟栈的操作</title>
</head>
<body>
<p>php的数组中提供的入栈array_push,array_pop,今天我们要自己实现,入栈出栈。</p>
<?php
class 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>
分享到:
相关推荐
韩顺平 轻松搞定javascript第三章 数组.ppt
这是我从B站上看韩老师讲的数据结构与算法后整理的笔记 代码经过运行,欢迎批评指正 有些地方我感觉还是挺难的 大都经过我自己的语言进行描述,韩老师中期的表达可能或多或少也影响可阅读性,望先生们见谅
韩顺平轻松搞定HTML+css+js中HTML部分经常使用的帮助文档,清华大学出品!好东西!!
韩顺平 servlet 第二讲下 事例 韩顺平 servlet 第二讲下 事
清华大学图书馆主页 html语言教程(html版) 韩顺平老师视频教程同款
数据结构和算法中韩顺平老师讲的是最好的值得大家学习交流 大数据技术之Scala数据结构和算法
韩顺平 玩转oralce第3讲 oracle的基本使用 韩顺平 玩转oralce第3讲 oracle的基本使用
学习笔记[韩顺平老师讲的数据结构和算法];数据结构和算法之稀疏数组。个人的一个理解。
韩顺平jsp九讲笔记
java-使用数组创作的房屋出租系统(基于韩顺平oop章节给定的要求)
韩顺平PHP149讲完整笔记之整理版本http协议部分
韩顺平PHP149讲笔记之基本语法2完整版本随堂版本
韩顺平servlet 第4、5讲 事例代码韩顺平servlet 第4、5讲 事例代码韩顺平servlet 第4、5讲 事例代码
韩顺平讲linux笔记
韩顺平PHP149讲之htm完整笔记之html部分
韩顺平讲的SQL作业评价答案,我看视频一句一句敲的,上面有我自己的点评
stack里面是数组栈、以及一个数字计算小程序、一个逆波兰表达式计算程序 sort sort里面是几种排序方法:冒泡排序、插入排序、选择排序、希尔排序 recursion recursion里面是递归的案例,迷宫回溯、一些递归测试、八...
韩顺平 玩转oracle第02讲 oralce安装.wmv 韩顺平 玩转oracle第02讲 oralce安装.wmv 韩顺平 玩转oracle第02讲 oralce安装.wmv 韩顺平 玩转oracle第02讲 oralce安装.wmv