php标准库spl栈SplStack如何使用?
2024-08-23 14:26:10
php标准库spl栈SplStack如何使用?
一、总结
php标准库spl栈SplStack介绍。(SplStack类)(各种方法都支持)
1、SplStack
类:$stack
=
new
SplStack();
//类:new关键字 并且写法为SplStack(两个都大写,后一个大写因为驼峰命名法,前一个大写因为类首字母大写)2、各种方法都支持:$stack
->push(
'a'
); //因为是php类,所以是箭头->调用方法
二、php标准库spl栈SplStack介绍
栈(Stack)是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出栈)
SplStack就是继承双链表(SplDoublyLinkedList)实现栈。
类摘要如下:
简单使用如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//把栈想象成一个颠倒的数组 $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 |
最新文章
- iOS开发 适配iOS10以及Xcode8[转]
- Mysql游标
- loj 1406(状态压缩)
- 今天Apple证书更新,提供 ";证书的签发者无效"; 解决办法
- HBuilder:最快的Web开发IDE
- MongoDB 权限认证
- wcf托管在IIS上,提示未能加载
- Java这个名字怎么来
- eclipse配置maven + 创建maven项目
- java基础(五):谈谈java中的多线程
- 移动H5页面微信支付踩坑之旅(微信支付、单页面路由模拟、按钮加锁、轮询等常见功能)
- 在Node.js使用Promise的方式操作Mysql
- [db]mysql全量迁移db
- 东芝 B-EV4 打印机 串口打印命令
- Windows 10安装Python 3 7成功打印Hello World!
- 【SPL标准库专题(10)】SPL Exceptions
- Java并发编程读书笔记(一)
- SQl CASE 语句的嵌套使用方式
- Thread(线程)三
- js 时间戳的转化,js 日期转成标准字符串,日期格式的相互转化
热门文章
- UVA 11557 - Code Theft (KMP + HASH)
- 20款PHP版WebMail开源项目
- 学习笔记:Vue——动态组件&;异步组件
- 00092_字符输出流Writer
- Python中的Sets数据结构
- 优雅地使用Retrofit+RxJava(二)
- 10.14 android输入系统_多点触摸驱动测试及Reader线程、InputStage分析
- 10.4 android输入系统_框架、编写一个万能模拟输入驱动程序、reader/dispatcher线程启动过程源码分析
- 使用u盘量产工具修复写保护的u盘
- PostgreSQL 序列