`

PHP实现的栈

    博客分类:
  • PHP
 
阅读更多

<?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 实现栈

    用php array 实现的栈功能

    基于PHP实现栈数据结构和括号匹配算法示例

    本文实例讲述了基于PHP实现栈数据结构和括号匹配算法。分享给大家供大家参考,具体如下: 栈,体现的是后进先出,即LIFO。队列,体现的是先进先出,即FIFO。 栈操作: array_pop() //尾出 array_push() //尾进 或 ...

    php常用经典函数集锦【数组、字符串、栈、队列、排序等】

    主要介绍了php常用经典函数,总结分析了php数组、字符串、栈、队列、排序等相关函数功能与使用技巧,需要的朋友可以参考下

    PHP使用两个栈实现队列功能的方法

    本文实例讲述了PHP使用两个栈实现队列功能的方法。分享给大家供大家参考,具体如下: 问题 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解决思路 两个栈。出栈的时候,如果栈2不为...

    PHP实现的栈数据结构示例【入栈、出栈、遍历栈】

    本文实例讲述了PHP实现的栈数据结构。分享给大家供大家参考,具体如下: 利用php面向对象思想,栈的属性有top、最大存储数、和存储容器(这里利用了php数组)。 代码如下:实现了入栈、出栈、遍历栈的几个方法: &...

    PHP实现基于栈的后缀表达式求值功能

    本文实例讲述了PHP实现基于栈的后缀表达式求值功能。分享给大家供大家参考,具体如下: 后缀表达式概述 后缀表达式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右...

    基于Laravel的CAS服务端实现PHP-CAS-Server.zip

    PHP CAS Server是一个基于Laravel框架开发的CAS服务端实现,旨在解决使用PHP技术栈的中小型公司因无法对Java版CAS服务端二次开发而放弃使用CAS的问题,因此本项目的核心目标之一就是易于扩展。功能:目前已经实现了...

    链表队列栈VB.NET实现(面向对象方法)

    数据结构VB.NET实现(面向对象方法) 链表,队列,栈 Cqueuelibrary LinkedListLibrary StackLibrary2 WindowsApplication1 是图形界面调用 &lt;br/&gt;(2)安装.Net Framework 2.0,下载地址:...

    PHP使用栈解决约瑟夫环问题算法示例

    主要介绍了PHP使用栈解决约瑟夫环问题算法,简单描述了约瑟夫环问题并给出了PHP使用栈解决约瑟夫环的相关算法实现技巧,需要的朋友可以参考下

    PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器完整实例

    本文实例讲述了PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器。分享给大家供大家参考,具体如下: 栈是线性表的一种,他的特点是后入先出,可以这么理解,栈就像一个存东西的盒子,先放进去的在最底层,后放进去...

    邓炜PHP基本语法(二)PHP数组

    此类型在很多方面做了优化,因此可以把它当成真正的数组(真正的数组在前面的课程javascript已经学过了,这里只介绍与以前数组之间的区别)来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列...

    PHP实现的简单四则运算计算器功能示例

    本文实例讲述了PHP实现的简单四则运算计算器功能。分享给大家供大家参考,具体如下: php实现一个简单的四则运算计算器(还不支持括号的优先级)。利用栈这种数据结构来计算表达式很赞。 这里可以使用栈的结构,由于...

    基于uip协议栈,可实现stm32的网络IAP烧写.zip

    软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...

    PHP SPL标准库之数据结构栈(SplStack)介绍

    SplStack就是继承双链表(SplDoublyLinkedList)实现栈。 类摘要如下: 简单使用如下: //把栈想象成一个颠倒的数组 $stack = new SplStack(); /** * 可见栈和双链表的区别就是IteratorMode改变了而已,栈的...

Global site tag (gtag.js) - Google Analytics