• 技术文章 >后端开发 >php教程

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

    2016-07-13 09:54:05原创817

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


    栈(Stack)是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出栈)

    SplStack就是继承双链表(SplDoublyLinkedList)实现栈。

    类摘要如下:

    简单使用如下:

    //把栈想象成一个颠倒的数组
    $stack = new SplStack();
    /**
     * 可见栈和双链表的区别就是IteratorMode改变了而已,栈的IteratorMode只能为:
     * (1)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP (默认值,迭代后数据保存)
     * (2)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE (迭代后数据删除)
     */
    $stack->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE);
    $stack->push('a');
    $stack->push('b');
    $stack->push('c');
     
    $stack->pop(); //出栈
     
    $stack->offsetSet(0, 'first');//index 为0的是最后一个元素
     
    foreach($stack as $item) {
     echo $item . PHP_EOL; // first a
    }
     
    print_R($stack); //测试IteratorMode


    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/998569.htmlTechArticlePHP SPL标准库之数据结构栈(SplStack)介绍,splsplstack 栈(Stack)是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP SPL标准库 数据结构栈 SplStack 删除文件
    上一篇:PHP中的traits简单使用实例,phptraits实例_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 手写PHP API框架(二)之Composer的安装使用• 设计API接口时,要注意这些地方!• PHP8.3要有新函数了!(json_validate函数说明)• 聊聊PHP escapeshellarg函数使用的中文问题• PHP原生类的总结分享
    1/1

    PHP中文网