php+spl+栈,PHP SPL标准库之数据结构栈(SplStack)介绍
PHP SPL标准库之数据结构栈(SplStack)介绍2020-06-13 22:01:42
栈(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
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。
Tags 标签
php+spl+栈,PHP SPL标准库之数据结构栈(SplStack)介绍相关推荐
- php spl函数,PHP SPL标准库中的常用函数介绍
这篇文章主要介绍了PHP SPL标准库中的常用函数介绍,本文着重讲解了spl_autoload_extensions().spl_autoload_register().spl_autoload()三 ...
- 在java的实现栈的插入数据_Java实现数据结构栈stack和队列Queue
回顾JDK提供的集合类 容器(集合)框架如下: 集合类存放于java.util包中.集合类存放的都是对象的引用,而非对象本身. 集合类型主要有3种:set(集).list(列表)和map(映射). C ...
- java数据结栈空的条件表达式_数据结构——栈和队列例题
1.若一个栈的输入序列为1,2,3,-,n,输出序列的第一个元素是i,则第j个输出元素是_____. 选项ABCD均错误,第j个输出元素应为i-j+1. 栈是一种先进后出的数据结构,也就是说如果入栈顺 ...
- python3内存分析_调试和分析 - tracemalloc —- 跟踪内存分配 - 《Python 3.7 标准库》 - 书栈网 · BookStack...
tracemalloc -- 跟踪内存分配 3.4 新版功能. The tracemalloc module is a debug tool to trace memory blocks alloca ...
- Python全栈之路标准库系列之random模块
This module implements pseudo-random number generators for various distributions. random.random() 生成 ...
- java stl stack_C++标准库之stack
C++库以提供"模板"为主.所谓模板,是指不必预先制定类型的函数或类.我们可以借助STL(标准模板库 Standard Template Library, STL)提供的高效算法来 ...
- golang中文文档_Golang 标准库 限流器 time/rate 设计与实现
限流器是后台服务中十分重要的组件,在实际的业务场景中使用居多,其设计在微服务.网关.和一些后台服务中会经常遇到.限流器的作用是用来限制其请求的速率,保护后台响应服务,以免服务过载导致服务不可用现象出现 ...
- GoLang之标准库strings包
文章目录 GoLang之标准库strings包 1.函数介绍 2.EqualFold 3.TrimSpace 4.HasPrefix 5.HasSuffix 6.Index 7.LastIndex 8 ...
- PHP 设计模式 笔记与总结(3)SPL 标准库
SPL 库的使用(PHP 标准库) 1. SplStack,SplQueue,SplHeap,SplFixedArray 等数据结构类 ① 栈(SplStack)(先进后出的数据结构) index.p ...
最新文章
- 我眼中的DevOps(转)
- SEO的操作流程梗概
- Why gdb crash if create too many threads ?
- 网络协议,我明明学过的呀?
- VS2010 教程:创建一个 WPF 应用程序 (第一节)
- S3C2440的SPI控制器
- 如何使用nginx配置SSL证书?
- 剑桥女博士创立情绪识别 AI 公司,帮助自闭症患者理解他人表情
- Video for linux 2 example (v4l2 demo)
- [洛谷P4838]P哥破解密码
- 牛拉法潮流计算 matlab,牛拉法潮流计算原理
- Duilib介绍-3
- PhotoShop CS6破解方法及文件下载
- git clone报错Could not resolve proxy : proxy-szn
- C#模拟点击网页按钮,提交数据有关问题
- 【源码】从Ansys导入mesh到MATLAB的小程序
- Android流媒体直播第三方库,Android——直播推流SDK
- 打开财务账期和物料账期code
- 深度学习入门 | Self-attentionRNNLSTM
- 【学习】各著名网站的使用语言情况
热门文章
- 哎,辣鸡代码书写准则
- 推荐一位互联网领域的达人,可以工作、生活、写书三不误!
- 给大家推荐一位我非常佩服的Python工程师 人生赢家
- ajax点评wnv冠军,对话wNv高层探知焦点 剑指世界冠军铸就王者路
- linux关闭开发者模式的命今,CentOS防火墙用命令行方式关闭的方式
- mysql4.1加密_Java版Mysql4.1之前的old_password加密算法
- 修改mysql数据库存放路径
- 深度学习:优化器工厂,各种优化器介绍,numpy实现深度学习(一)
- postgresql后期给开发建表的权限问题
- iScroll 5 API 中文版