<?php
class Stack{
private $_data = array();
private $_end = null;
public function push($data){
if($this->_end === null){
$this->_end = 0;
}else{
$this->_end++;
}
$this->_data[$this->_end] = $data;
}
public function pop(){
if(empty($this->_data)){return false;}
$ret = $this->_data[$this->_end];
//array_pop($this->_data);
array_splice($this->_data, $this->_end);
$this->_end--;
return $ret;
}
public function get_data(){
return $this->_data;
}
}
$stack = new Stack();
$stack->push('a');
$stack->push('b');
$stack->push('c');
$stack->pop();
print_r($stack->get_data());
分享到:
相关推荐
用php array 实现的栈功能
本文实例讲述了基于PHP实现栈数据结构和括号匹配算法。分享给大家供大家参考,具体如下: 栈,体现的是后进先出,即LIFO。队列,体现的是先进先出,即FIFO。 栈操作: array_pop() //尾出 array_push() //尾进 或 ...
主要介绍了php常用经典函数,总结分析了php数组、字符串、栈、队列、排序等相关函数功能与使用技巧,需要的朋友可以参考下
本文实例讲述了PHP使用两个栈实现队列功能的方法。分享给大家供大家参考,具体如下: 问题 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解决思路 两个栈。出栈的时候,如果栈2不为...
本文实例讲述了PHP实现的栈数据结构。分享给大家供大家参考,具体如下: 利用php面向对象思想,栈的属性有top、最大存储数、和存储容器(这里利用了php数组)。 代码如下:实现了入栈、出栈、遍历栈的几个方法: &...
本文实例讲述了PHP实现基于栈的后缀表达式求值功能。分享给大家供大家参考,具体如下: 后缀表达式概述 后缀表达式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右...
PHP CAS Server是一个基于Laravel框架开发的CAS服务端实现,旨在解决使用PHP技术栈的中小型公司因无法对Java版CAS服务端二次开发而放弃使用CAS的问题,因此本项目的核心目标之一就是易于扩展。功能:目前已经实现了...
数据结构VB.NET实现(面向对象方法) 链表,队列,栈 Cqueuelibrary LinkedListLibrary StackLibrary2 WindowsApplication1 是图形界面调用 <br/>(2)安装.Net Framework 2.0,下载地址:...
主要介绍了PHP使用栈解决约瑟夫环问题算法,简单描述了约瑟夫环问题并给出了PHP使用栈解决约瑟夫环的相关算法实现技巧,需要的朋友可以参考下
本文实例讲述了PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器。分享给大家供大家参考,具体如下: 栈是线性表的一种,他的特点是后入先出,可以这么理解,栈就像一个存东西的盒子,先放进去的在最底层,后放进去...
此类型在很多方面做了优化,因此可以把它当成真正的数组(真正的数组在前面的课程javascript已经学过了,这里只介绍与以前数组之间的区别)来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列...
本文实例讲述了PHP实现的简单四则运算计算器功能。分享给大家供大家参考,具体如下: php实现一个简单的四则运算计算器(还不支持括号的优先级)。利用栈这种数据结构来计算表达式很赞。 这里可以使用栈的结构,由于...
软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...
SplStack就是继承双链表(SplDoublyLinkedList)实现栈。 类摘要如下: 简单使用如下: //把栈想象成一个颠倒的数组 $stack = new SplStack(); /** * 可见栈和双链表的区别就是IteratorMode改变了而已,栈的...