php实现单链表
发布日期:2025-05-04 08:34:16
浏览次数:7
分类:精选文章
本文共 2333 字,大约阅读时间需要 7 分钟。
单链表是最简单的链表表示方式。在线性表中,每个数据元素占用一个结点(node),一个结点通常由两个域组成:一个存储数据元素data,另一个存储指向链表中下一个结点的指针link。最后一个结点的指针为空。单链表的数据元素之间的逻辑关系由指针表示,虽然指针指向的存储位置不要求紧邻,但数据元素的逻辑关系依然清晰。
在PHP中,我们可以通过类来模拟单链表实现。以下是一个简单的实现示例:
节点类
class Node { private $data; private $next; public function setData($value) { $this->data = $value; } public function setNext($value) { $this->next = $value; } public function getData() { return $this->data; } public function getNext() { return $this->next; } public function __construct($data, $next) { $this->setData($data); $this->setNext($next); }} 功能类
class LinkList { private $header; // 头节点 private $size; // 节点数 public function getSize() { return $this->size; } public function getHeader() { return $this->header; } public function __construct() { // 设置默认内容类型 header("content-type:text/html; charset=utf-8"); $this->header = new Node(null, null); $this->size = 0; } // 添加节点 public function add($data) { $node = $this->header; while ($node->getNext() != null) { $node = $node->getNext(); } $node->setNext(new Node($data, null)); $this->size++; } // 移除节点 public function removeAt($data) { $node = $this->header; while ($node->getData() != $data) { $node = $node->getNext(); } if ($node->getData() != $data) { echo("查无此节点!"); return; } $node->setNext($node->getNext()); $node->setData($node->getNext()->getData()); $this->size--; } // 遍历节点 public function get() { $node = $this->header; if ($node->getNext() == null) { echo("数据集为空!"); return; } while ($node->getNext() != null) { echo($node->getNext()->getData()); if (($node->getNext()->getNext() == null) || ($node->getNext()->getNext()->getNext() == null)) { break; } $node = $node->getNext(); echo "=> "; } } // 其他方法(如获取特定节点、更新节点等,可根据需求添加)} 示例使用
$s = new LinkList();$s->add('ssss');echo $s->getSize(); // 输出1$s->add('fff');$s->update('ddd', 'ssssd');echo $s->getSize(); // 输出2$s->get(); // 输出:ssss => fff => ssssd 这种实现方式通过类的封装性质,使链表的操作更加简洁和可维护。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2026年05月23日 08时34分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP学习总结(9)——PHP入门篇之WAMPServer服务控制面板介绍
2023-03-01
php学习笔记---php调试和开发工具整理
2023-03-01
PHP学习笔记一:谁动了你的mail(),PHP?
2023-03-01
PHP安全实战
2023-03-01
php安装扩展
2023-03-01
php实战第二十二天
2023-03-01
rabbitmq重启
2023-03-01
php实现上传(多个)文件函数封装
2023-03-01
php实现下载文件方法
2023-03-01
php实现单链表
2023-03-01
php实现图片背景换色功能
2023-03-01
php实现多个一维数组对应合并成二维数组
2023-03-01
php实现多关键字查找方法
2023-03-01
PHP实现微信公众号H5支付
2023-03-01
PHP实现微信公众号网页授权
2023-03-01
PHP实现微信小程序推送消息至公众号
2023-03-01
rabbitmq逻辑与开发
2023-03-01
php实现根据身份证获取年龄
2023-03-01
PHP实现的MongoDB数据增删改查
2023-03-01
PHP实现的SSO单点登录系统,拿走就用吧
2023-03-01