SPL数据结构之双向链表

//SPL数据结构之双向链表

$obj = new SplDoublyLinkedList();

$obj->push(1);//push将新的节点数据添加到链表的Top

$obj->push(2);

$obj->push(3);

$obj->unshift(10);//unshift将新的节点数据添加到链表的Bottom

print_r($obj);

$obj->rewind();//rewind操作用于把节点指针指向Bottom所在的节点

echo 'current:'.$obj->current()."\n";//current获取节点指针指向的节点(当前节点)

$obj->next();//指针指向下一个节点(Top)

echo 'next node:'.$obj->current()."\n";

$obj->next();

$obj->next();

$obj->prev();//指针指向上一个节点(Bottom)

echo 'next node:'.$obj->current()."\n";

$obj->next();

$obj->next();

echo 'next node:'.$obj->current()."\n";

if ($obj->current()){

echo "Current node is valid\n";

} else {

echo "Current node is invalid\n";

}

$obj->rewind();

//valid如果当前是有效节点,valid返回true

if ($obj->valid()){

echo "valid list\n";

} else {

echo "invalid list\n";

}

//pop将Top位置的节点从链表中删除,并返回。如果current正好指向Top位置,那么调用pop之后current会失效

echo "pop value:".$obj->pop()."\n";

$obj->pop();

print_r($obj);

//shift将Bottom位置的节点从链表中删除,并返回

$obj->shift();

print_r($obj);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值