源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-02-11 16:53 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP SPL标准库之数据结构栈(SplStack)介绍
栈(Stack)是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出栈) [img]http://files.jb51.net/file_images/article/201505/201551294448275.jpg?20154129453[/img] SplStack就是继承双链表([url=http://www.1sucai.cn/article/65913.htm]SplDoublyLinkedList[/url])实现栈。 类摘要如下: [img]http://files.jb51.net/file_images/article/201505/201551294512803.png?201541294524[/img] 简单使用如下:
//把栈想象成一个颠倒的数组
$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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部