栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

解析PHP标准库SPL数据结构

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力


解析PHP标准库SPL数据结构

SPL提供了双向链表、堆栈、队列、堆、降序堆、升序堆、优先级队列、定长数组、对象容器


解析PHP标准库SPL数据结构

SplQueue 队列类

进出异端,先进先出


在这里插入图片描述
enqueue(1);
$obj->enqueue(2);
$obj->enqueue(3);$obj->offsetSet(0,'C');$obj->rewind();//从队列中返回并删除bottom位置的元素$obj->dequeue();复制代码

SplStack 堆栈类

单端进出时,后进先出,先进后出


在这里插入图片描述
$obj = new SplStack();//向堆栈放入一个节点到top位置$obj->push(1);
$obj->push(2);
$obj->push(3);//堆栈的offset = 0 是Top所在的位置,offset = 1 是top节点靠近bottom位置的相邻节点$obj->offsetSet(0,'C');$obj->offsetSet(1,'B');//堆栈的rewind使指针指向top节点,而双向链表的rewind指向bottom节点$obj->rewind();//堆栈的next是使指针向bottom方向相邻的节点移动一位,而链表是向top方向移动$obj->next();//遍历堆栈$obj->rewind();while($obj->valid()){    echo $obj->key().'=>'.$obj->current();
    $obj->next();
}//从堆栈中取出top位置的节点并删除$obj->pop();复制代码

SplDoublylinkedList 双向链表类

在这里插入图片描述
$obj = new SplDoublylinkedList();//SplDoublylinkedList Object ( [flags:SplDoublylinkedList:private] => 0 [dllist:SplDoublylinkedList:private] => Array ( ) )//把新的节点数据添加到链表的顶部Top$obj->push(1);
$obj->push(2);
$obj->push(3);//把新的节点数据添加到链表底部bottom$obj->unshift(4);//在没有调用rewind()方法之前输出为nullecho 'current'.$obj->current();//输出: null//把指针指向bottom节点$obj->rewind();//获取当前指针指向的节点$obj->current();//输出: 4//将执行挪到下一个$obj->next();
$obj->current();//输出: 1$obj->prev();
$obj->current();//输出: 4//越界了$obj->next();
$obj->next();
$obj->next();
$obj->next();
$obj->current();//输出: null//判断当前节点是否有效$obj->valid()//输出: false$obj->prev();
$obj->valid()//输出: true$obj->shift();//把top节点从链表中删除并返回$obj->pop();//输出 3//把bottom节点从链表中删除并返回$obj->shift();//输出 4//返回top节点$obj->top();//返回bottom节点$obj->bottom();复制代码

感谢您的阅读,如果对您有帮助,欢迎关注"CRMEB"。码云上有我们开源的商城项目,知识付费项目,均是基于PHP+vue开发,学习研究欢迎使用,关注我们保持联系!

想了解更多编程学习,敬请关注php培训栏目!

以上就是解析PHP标准库SPL数据结构的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/262663.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号