首页 技术 正文
技术 2022年11月19日
0 收藏 377 点赞 4,682 浏览 861 个字

  利用php面向对象思想,栈的属性有top、最大存储数、和存储容器(这里利用了php数组)。

代码如下:实现了入栈、出栈、遍历栈的几个方法:

 <?php class Stack{
const MAXSIZE = 4;// 栈最大容量
private $top = -1;
private $stack = array();// 利用数组存储数据 public function __construct(){
$this->stack = array();
} // 入栈
public function push($ele){
if ($this->top >= self::MAXSIZE-1){
echo 'stack is full...';
return false;
}
$this->stack[++$this->top] = $ele;// 此处必须是++i,先计算再使用
} // 出栈,返回出栈元素
public function pop(){
if ($this->top == -1){
echo 'stack is empty...';
return false;
}
$ele = $this->stack[$this->top];
unset($this->stack[$this->top--]);// 此处必须是i--,先使用再计算(注意出栈和入栈的区别)
return $ele;
} // 遍历栈
public function show(){
if ($this->top == -1){
echo 'stack is empty...';
return false;
}
for($i=$this->top; $i>-1; $i--){
echo $this->stack[$i].'<br/>';
}
} } $stack = new Stack;
$stack->push(1);
$stack->push(2);
$stack->push(3);
$stack->push(4); //print_r($stack);
$stack->show(); $a = $stack->pop();
$a = $stack->pop();
$a = $stack->pop(); $stack->show();
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,105
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,582
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,429
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,836
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,919