时时商务社区
标题:
PHP SPL标准库之数据结构栈(SplStack)介绍
[打印本页]
作者:
新格网络
时间:
2018-2-14 05:46
栈(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
您可能感兴趣的文章:
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
PHP中使用数组实现堆栈数据结构的代码
关于PHP堆栈与列队的学习
php线性表的入栈与出栈实例分析
基于PHP实现栈数据结构和括号匹配算法示例
PHP使用栈解决约瑟夫环问题算法示例
PHP基于堆栈实现的高级计算器功能示例
PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器完整实例
PHP实现基于栈的后缀表达式求值功能
PHP实现的栈数据结构示例【入栈、出栈、遍历栈】
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2