首页 > 学院 > 开发设计 > 正文

2.SPL数据结构简介

2019-11-06 07:43:37
字体:
来源:转载
供稿:网友

这里写图片描述 这里写图片描述 这里写图片描述


双向列表 这里写图片描述

这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述

<?php$obj = new SplDoublyLinkedList();$obj->push(1); //把新的节点加入 top$obj->push(2);$obj->push(3);$obj->push(33);$obj->unshift(10);//把新的节点加入 bottomecho '<PRe>';print_r($obj);$obj->rewind(); //把指针指向 bottomecho 'current : '.$obj->current();//必须在rewind后,不然是空 $obj->next();//指向下一个节点echo '<br/>current : '.$obj->current();$obj->next();$obj->next();$obj->prev();//指向前面一个节点echo '<br/>current : '.$obj->current();$obj->next();$obj->next();echo '<br/>current : '.$obj->current();//空if ($obj->valid()) { // 不能用 $obj->current()去判断,因为值有可能为 '',0等 echo 'yes';} else { echo 'no';}echo '<hr/>';echo $obj->pop(),'<br/>';//把 top 节点删除并返回print_r($obj);echo 'current : '.$obj->current();//current 刚好指向 top,pop之后,指针失效echo '<hr/>';echo $obj->shift(),'<br/>';//删除 bottom 节点,并返回print_r($obj);echo 'current : '.$obj->current();//current 刚好指向 bottom,shift后,指针失效

这里写图片描述


堆栈 这里写图片描述 这里写图片描述 这里写图片描述

这里写图片描述 这里写图片描述

<?php$stack = new SplStack();$stack->push('aaa');$stack->push('bbb');$stack->push('ccc');echo '<pre>';print_r($stack);echo 'bottom:'. $stack->bottom(),'<br/>';echo 'top:'.$stack->top(),'<br/>';$stack->offsetSet(0,'c');//注意是先进后出,所以 0 是 top 位置,也就是 ccc 变成 cprint_r($stack);$stack->rewind();echo 'current:'.$stack->current(),'<br/>'; //top位置$stack->next();echo 'current:'.$stack->current(),'<br/>'; //指向bbb

队列 这里写图片描述

<?php$queue = new SplQueue();$queue->enqueue('a');$queue->enqueue('b');$queue->enqueue('c');$queue->enqueue('d');echo '<pre>';print_r($queue);echo 'bottom:'.$queue->bottom(),"<br/>";//aecho 'top:'.$queue->top(),"<br/>";//d$queue->offsetSet(0,'111');// 0 为 bottom 的位置print_r($queue);$queue->rewind();//指向 bottomecho 'current:'.$queue->current(),'<br/>';echo 'dequeue:'.$queue->dequeue(),'<br/>';//从bottom位置删除并取出print_r($queue);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表