PHP数据结构之实现栈
2024-08-28 09:42:49
接着前面PHP数据结构来学习,今天写的是实现栈。
<?php
class stack //定义一个栈的类
{
private $size; //栈的空间大小
private $top; // 栈的指针
private $stack_arr; //栈的空间 public function __construct($size) //初始化一个空栈
{
$this->top=-1;
$this->size=$size;
$this->stack_arr=array();
}
public function push($data) //入栈操作,先判断栈是否已满
{
if($this->top==$this->size-1)
echo "The stack is full";
else
$this->stack_arr[++$this->top]=$data;
}
public function pop() //出栈,取栈顶元素,先判断是否为空栈
{
if($this->top==-1)
echo "The stack is empty";
else
return $this->stack_arr[$this->top--];
} public function getlength() //获取栈的大小
{
return $this->top+1;
} public function print_stack() //输出栈内元素
{
$tem=$this->top;
while($tem!=-1)
{
echo $this->stack_arr[$tem--];
}
}
} $stack=new stack(3);
$stack->push('a');
$stack->push('b');
$stack->push('c');
echo $stack->getlength();
echo "<br/>";
$stack->print_stack();
echo "<br/>";
echo $stack->pop();
echo "<br/>";
$stack->push('d');
$stack->print_stack(); ?>
运行结果截图如下:
最新文章
- 【Django】--Model字段
- shell的一些应用场景
- C# 异常捕获机制(Try Catch Finally)
- 从零开始学Python04作业源码:模拟ATM电子银行(仅供参考)
- 企业邮箱在Android(安卓)系统手机上POP3/IMAP协议的设置方法
- Python 入門語法和類型(转载学习)
- Excel文件操作方式比较
- 【@ContextConfiguration】java世界的那些注解
- Unicode与 utf8的互相转换
- LSI SAS 2308配置操作
- java 判断对象是否是某个类的类型方法
- Android Intent实现页面跳转
- HDU 3699 A hard Aoshu Problem (暴力搜索)
- HDU1754 I hate it(线段树 单点修改)
- JavaScript大杂烩11 - 理解事件驱动
- Spring学习笔记(入门)
- jQuery中extend()实现原理
- mysql之 sysbench0.4.12数据库性能测试
- 【struts2】名为dispatcher的ResultType
- BS系统经验总结