TP5+SPl(堆栈)继承自SplDoublyLinkedList类的SplStack类
来源:互联网 发布:体检的意义 知乎 编辑:程序博客网 时间:2024/06/06 04:29
代码实例
<?phpnamespace app\index\controller;use SplStack;//引入双向链表class Index{ public function index() { $stack = new SplStack; $stack -> push('a');//push操作向堆栈里面放入一个节点到top位置 $stack -> push('b'); $stack -> push('c'); dump($stack); echo "Bottom:".$stack->bottom()."<br/>"; echo "Top:".$stack->top(); $stack -> offsetSet(1,'C');//堆栈里面0是top所在节点 dump($stack); $stack->rewind();//双向链表的rewind和堆栈的相反,堆栈式当前指针指向top所在的位置,而双向链表指向的是bottom位置 echo 'current:'.$stack->current()."<br/>"; $stack->next();//在堆栈中,指针向相反的路径进行移动 echo 'current:'.$stack->current()."<br/>"; //遍历堆栈 $stack->rewind(); while ($stack -> valid()) { echo $stack -> key()."=>".$stack->current()."<br/>"; $stack -> next();//next操作不从链表中删除数据 } //删除堆栈数据 $popObj = $stack->pop();//pop操作从堆栈里面提取出最后一个元素(top位置),同时在堆栈里面删除该节点 echo "Poped object:".$popObj."<br/>"; dump($stack); } }
运行结果
object(SplStack)#4 (2) { ["flags":"SplDoublyLinkedList":private] => int(6) ["dllist":"SplDoublyLinkedList":private] => array(3) { [0] => string(1) "a" [1] => string(1) "b" [2] => string(1) "c" }}Bottom:aTop:cobject(SplStack)#4 (2) { ["flags":"SplDoublyLinkedList":private] => int(6) ["dllist":"SplDoublyLinkedList":private] => array(3) { [0] => string(1) "a" [1] => string(1) "C" [2] => string(1) "c" }}current:ccurrent:C2=>c1=>C0=>aPoped object:cobject(SplStack)#4 (2) { ["flags":"SplDoublyLinkedList":private] => int(6) ["dllist":"SplDoublyLinkedList":private] => array(2) { [0] => string(1) "a" [1] => string(1) "C" }}
阅读全文
0 0
- TP5+SPl(堆栈)继承自SplDoublyLinkedList类的SplStack类
- 在Tp5中使用SPL数据结构SplDoublyLinkedList(双向链表)
- 数据结构之SplDoublyLinkedList类
- TP5-类中方法的继承
- PHP SPL标准库之SplStack简介
- 关于PHP-SPL中SplDoublyLinkedList学习随记
- tp5的redis类
- TP5+SPL迭代器--MultipleIterator
- TP5+SPL----FilesystemIterator(迭代器)
- php标准库 SPL 数据结构之 ---------Splstack(栈)
- php标准库(SPL)-数据结构(二)-SplStack详解
- TP5+SPL SplQueue(队列)
- php标准库(SPL)-数据结构(一)-SplDoublyLinkedList详解
- IteratorIterator类-SPL库
- 选择类继承自
- 分享继承自List的集合类
- 常用类继承自ViewGroup的写法
- 继承自NumberPicker的数字输入类
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
- iOS 设置启动图无效
- OC : NSMeasurement (物理单位换算)
- python多进程检查端口并写日志
- Spring Boot 默认日志工具logback与ELK系统对接
- TP5+SPl(堆栈)继承自SplDoublyLinkedList类的SplStack类
- JavaScript encodeURI() 函数
- React Native布局详细指南
- 怎么修改和编辑PDF文件中的文字内容
- View的事件分发机制
- 【源码】联机五子棋,基于UDP可靠传输
- maven项目下pom.xml
- Shiro安全框架入门篇(登录验证实例详解与源码)
- 留言以及其他