$stack = new Splstack(); //创建栈对象
$stack->push("11");
$stack->push(22222222);
$stack->push(3); //压入数据
// $stack->shift(); // 删除底部数据
// $stack->unshift('sdfsdf'); // 添加顶部数据
$stack->bottom(); // 底部,11
$stack->top(); //顶部 3
$stack->offsetSet(0,'gaibian'); //0相当于 $stack->top()的节点,改变其值
$stack->rewind(); //双向链表的rewind和堆栈里的rewind相反,堆栈里的rewind指向当前指针指向top的所在的位置,而双向链表调用之后指向bottom所在的位置
$stack->next(); //指向下一个靠近bottom的节点,而双向链表是靠近top的节点
//循环遍历
while($stack->valid()){ //判断节点是否有效
echo $stack->key().'=>'.$stack->current().'****';
$stack->next();
}
echo $stack->pop(); //弹出顶部的元素,并输出
php标准库 SPL 数据结构之 ---------Splstack(栈)
最新推荐文章于 2021-03-27 10:13:22 发布