《PHP实战:PHP中模拟链表和链表的基本操作示例》要点:
本文介绍了PHP实战:PHP中模拟链表和链表的基本操作示例,希望对您有用。如果有疑问,可以联系我们。
PHP学习模拟链表:
- PHP学习
- <?php
- /**
- * PHP实现链表的基本操作
- */
- class linkList {
- /**
- * 姓名
- * @var string
- */
- public $name = '';
- /**
- * 编号
- * @var int
- */
- public $id = 0;
- /*
- * 引用下一个对象
- */
- public $next = null;
- /**
- * 构造函数初始化数据
- * @param int $id
- * @param string $name
- */
- public function __construct($id = 0, $name = '') {
- $this->name = $name;
- $this->id = $id;
- }
- /**
- * 遍历链表
- */
- public static function echo_link_list($head) {
- $curr = $head;
- while ($curr->next != null) {
- echo '姓名:'.$curr->next->name, ' 编号:'.$curr->next->id;
- echo '<br>';
- $curr = $curr->next;
- }
- }
- /**
- * 添加新节点
- */
- public static function add($head, $id, $name) {
- $curr = $head;
- $obj = new linkList($id, $name);
- while ($curr->next != null) {
- // 如果当前ID < 下一个ID,则添加到中间,添加节点到指定次序位置
- if ($curr->next->id > $id) {
- $obj->next = $curr->next;
- $curr->next = $obj;
- return true;
- } else if ($curr->next->id == $id) {
- echo '当前Id:'.$id.'重复了,请不要继续添加了!';
- echo '<br>';
- return false;
- }
- $curr = $curr->next;
- }
- // 添加节点到尾部
- if ($curr->next == null) {
- $curr->next = $obj;
- }
- }
- /**
- * 删除节点
- */
- public static function del($head, $id) {
- $curr = $head;
- while($curr->next != null) {
- if ($curr->next->id == $id) {
- $curr->next = $curr->next->next;
- return true;
- }
- $curr = $curr->next;
- }
- }
- /**
- * 修改节点
- */
- public static function edit($head, $id, $new_name) {
- $curr = $head;
- while($curr->next != null) {
- if ($curr->next->id == $id) {
- $curr->next->name = $new_name;
- }
- $curr = $curr->next;
- }
- }
- }
- $head = new linkList();
- linkList::add($head, 1, 'wangdk');
- linkList::add($head, 2, 'sunshuzhen');
- linkList::add($head, 8, 'wanghaha');
- linkList::add($head, 6, 'wangchufen');
- linkList::add($head, 6, 'wangchufen');
- linkList::add($head, 3, 'wangdaye');
- linkList::del($head, 1);
- linkList::edit($head, 2, 'hahaha');
- linkList::echo_link_list($head);
- ?>
PHP学习链表的增删查改:
- PHP学习
- <?php
- /**
- * PHP实现链表的基本操作
- */
- class linkList {
- /**
- * 姓名
- * @var string
- */
- public $name = '';
- /**
- * 编号
- * @var int
- */
- public $id = 0;
- /*
- * 引用下一个对象
- */
- public $next = null;
- /**
- * 构造函数初始化数据
- * @param int $id
- * @param string $name
- */
- public function __construct($id = 0, $name = '') {
- $this->name = $name;
- $this->id = $id;
- }
- /**
- * 遍历链表
- */
- public static function echo_link_list($head) {
- $curr = $head;
- while ($curr->next != null) {
- echo '姓名:'.$curr->next->name, ' 编号:'.$curr->next->id;
- echo '<br>';
- $curr = $curr->next;
- }
- }
- /**
- * 添加新节点
- */
- public static function add($head, $id, $name) {
- $curr = $head;
- $obj = new linkList($id, $name);
- while ($curr->next != null) {
- // 如果当前ID < 下一个ID,则添加到中间,添加节点到指定次序位置
- if ($curr->next->id > $id) {
- $obj->next = $curr->next;
- $curr->next = $obj;
- return true;
- } else if ($curr->next->id == $id) {
- echo '当前Id:'.$id.'重复了,请不要继续添加了!';
- echo '<br>';
- return false;
- }
- $curr = $curr->next;
- }
- // 添加节点到尾部
- if ($curr->next == null) {
- $curr->next = $obj;
- }
- }
- /**
- * 删除节点
- */
- public static function del($head, $id) {
- $curr = $head;
- while($curr->next != null) {
- if ($curr->next->id == $id) {
- $curr->next = $curr->next->next;
- return true;
- }
- $curr = $curr->next;
- }
- }
- /**
- * 修改节点
- */
- public static function edit($head, $id, $new_name) {
- $curr = $head;
- while($curr->next != null) {
- if ($curr->next->id == $id) {
- $curr->next->name = $new_name;
- }
- $curr = $curr->next;
- }
- }
- }
- $head = new linkList();
- linkList::add($head, 1, 'wangdk');
- linkList::add($head, 2, 'sunshuzhen');
- linkList::add($head, 8, 'wanghaha');
- linkList::add($head, 6, 'wangchufen');
- linkList::add($head, 6, 'wangchufen');
- linkList::add($head, 3, 'wangdaye');
- linkList::del($head, 1);
- linkList::edit($head, 2, 'hahaha');
- linkList::echo_link_list($head);
- ?>
《PHP实战:PHP中模拟链表和链表的基本操作示例》是否对您有启发,欢迎查看更多与《PHP实战:PHP中模拟链表和链表的基本操作示例》相关教程,学精学透。维易PHP学院为您提供精彩教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/7499.html