• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php实现栈操作(不用push pop 库函数)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

直接上代码

<?php 
/*php不用库函数实现栈操作
* @author Geyaru 2019-04-20
*/
class stack{
	private $top = -1; //栈指针初始方向
	private $maxSize = 0;
	private $stack;
	/**初始化栈参数
	*/
	public function __construct($maxSize)
	{
		$this->maxSize = $maxSize;
	}
	/**入栈操作
	*@param $val入栈的值
	*/
	public function push($val)
	{
		if($this->top == $this->maxSize-1)
		{
			return 0; //栈满
		}
		//入栈指针移动一个位置
		$this->top++;
		//值存入栈容器
		$this->stack[$this->top] = $val;
	}
	/**出栈操作
	*@return 出栈值
	*/
	public function pop(){
		if($this->top==-1){
			return 0; //栈空
		}
		//出栈值
		$valTop = $this->stack[$this->top];
		//移动栈指针
		$this->top--;
		return $valTop;
	}
	/**展示栈
	*/
	public function showSatck(){
		if($this->top==-1){
			return 0; //栈空
		}
		//循环输出 , 按先入后出 , 逆向循环输出
		for($i = $this->top;$i<=0;$i--){
			echo $this->stack[$i];
		}
	}
}

 使用:

//模拟使用栈类
$stack = new Stack(5);

//入栈
$stack -> push('芒果');
$stack -> push('橙子');
$stack -> push('龙眼');
$stack -> push('苹果');
$stack -> push('香蕉');
$stack -> push('香瓜');

//出栈
$stack -> pop();

//展示栈
$stack -> showSatck();

 

注: 原文参考地址 https://cloud.tencent.com/developer/article/1178500


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
CentOS7.x,不重新编译PHP,动态安装imap扩展发布时间:2022-07-10
下一篇:
php:获取对象的属性名发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap