首页 » PHP教程 » php单向链表技巧_PHP中双向链表的简单用法

php单向链表技巧_PHP中双向链表的简单用法

访客 2024-11-10 0

扫一扫用手机浏览

文章目录 [+]

我的理解是,双向链表中的每个数据带有两个标识(域),一个可以指向前一个数据的地址,另一个可以指向后一个数据的地址,以是相对单向链表来说,可以比较方便的查找到前一个数据和数据地址,但是比单向链表多利用了内存,也便是空间换韶光的做法。

php利用SplDoublyLinkedList类可以实现双向链表。

php单向链表技巧_PHP中双向链表的简单用法

二、PHP双向链表的用法

<?php

php单向链表技巧_PHP中双向链表的简单用法
(图片来自网络侵删)

$obj = new SplDoublyLinkedList();//建立一个双向链表工具

echo '<pre>';

$obj->push(1);//上部压入 链表中的元素为[0]=>1,

$obj->push(2);//上部压入 链表中的元素为[0]=>1,[1]=>2

$obj->push(3);//上部压入 链表中的元素为[0]=>1,[1]=>2,[2]=>3

$obj->unshift(8);//底部压入 链表中的元素为[0]=>8,[1]=>1,[2]=>2,[3]=>3

$obj->unshift(9);//底部压入 链表中的元素为[0]=>9,[1]=>8,[2]=>1,[3]=>2,[4]=>3

$obj->unshift(10);//底部压入链表中的元素为[0]=>10,[1]=>9,[2]=>8,[3]=>1,[4]=>2,[5]=>3

//此时链表中的元素自下向上依次为:[0]=>10,[1]=>9,[2]=>8,[3]=>1,[4]=>2,[5]=>3

$obj->rewind();//将指针指向底部第一个元素,这里指的是10这个元素

$obj->next();//将指针向上移动一个单位,此时指针指向9这个元素

$obj->prev();//将指针向下移动一个单位,此时指针指向10这个元素

echo $obj->bottom();//查看底部元素,此时指针位置未变

echo $obj->top();//查看上部元素,此时指针位置不变

$obj->add(1,12);//添加元素,在0的位置上添加一个12,链表中的元素为[0]=>10,[1]=>12,[2]=>9,[3]=>8,[4]=>1,[5]=>2,[6]=>3

$obj->next();

echo $obj->key();//查看当前指针位置

echo $obj->current();//查看当前指针所对应的元素

echo $obj->valid();//查看当前节点是否为有效节点,是的话,返回true;

$obj->pop();//删除最上部的一个,top,如果删除当前节点,则指针为空。

$obj->shift();//删除最底部的一个元素,bottom

贴图:

标签:

相关文章

世界城市代码图解码城市发展与未来趋势

城市已成为经济发展和社会进步的重要载体。为了更好地了解和研究城市,人们开始关注城市代码图。本文将围绕世界城市代码图,探讨城市发展与...

PHP教程 2025-03-16 阅读1 评论0

3010节点代码网络世界的智慧枢纽

在信息化时代,网络已成为人们生活中不可或缺的一部分。而网络世界的运转离不开各种节点代码的支撑。今天,就让我们来揭秘3010节点代码...

PHP教程 2025-03-16 阅读1 评论0

Java代码虚拟化保护技术与应用前景

软件应用的需求日益增长,软件开发过程中对代码的保护成为了一个重要议题。Java作为一种广泛应用于企业级应用的编程语言,其代码虚拟化...

PHP教程 2025-03-02 阅读1 评论0