php单链表实现代码分享


Posted in PHP onJuly 04, 2016

本文实例为大家分享了php单链表的具体代码,供大家参考,具体内容如下

<?php
/**
 * 单链表
 */ 
class Demo
{
  private $id;
  public $name;
  public $next;

  public function __construct ($id = '', $name = '')
  {
    $this->id = $id;
    $this->name = $name;
  }

  static public function show ($head)
  {
    $cur = $head;
    while ($cur->next) {
      echo $cur->next->id,'###',$cur->next->name,'<br />';
      $cur = $cur->next;
    }
    echo '<hr />';
  }

  //尾插法
  static public function push ($head, $node)
  {
    $cur = $head;
    while (NULL != $cur->next) {
      $cur = $cur->next;
    }
    $cur->next = $node;
    return $head;
  }

  static public function insert($head, $node)
  {
    $cur = $head;
    while (NULL != $cur->next) {
      if ($cur->next->id > $node->id) {
        break;
      }
      $cur = $cur->next;
    }
    $node->next = $cur->next;
    $cur->next = $node;
    return $head;
  }

  static public function edit($head, $node)
  {
    $cur = $head;
    while (NULL != $cur->next) {
      if ($cur->next->id == $node->id) {
        break;
      }
      $cur = $cur->next;
    }
    $cur->next->name = $node->name;
    return $head;    
  }

  static public function pop ($head, $node)
  {
    $cur = $head;
    while (NULL != $cur->next) {
      if ($cur->next == $node) {
        break;
      }
      $cur = $cur->next;
    }
    $cur->next = $node->next;
    return $head;      
  }
}

$team = new Demo();
$node1 = new Demo(1, '唐三藏');
Demo::push($team, $node1);
$node1->name = '唐僧';
Demo::show($team);

// Demo::show($team);
$node2 = new Demo(2, '孙悟空');
Demo::insert($team, $node2);
// Demo::show($team);
$node3 = new Demo(5, '白龙马');
Demo::push($team, $node3);
// Demo::show($team);
$node4 = new Demo(3, '猪八戒');
Demo::insert($team, $node4);
// Demo::show($team);
$node5 = new Demo(4, '沙和尚');
Demo::insert($team, $node5);
// Demo::show($team);
$node4->name = '猪悟能';//php对象传引用,所以Demo::edit没有必要
// unset($node4);
// $node4 = new Demo(3, '猪悟能');
// Demo::edit($team, $node4);
Demo::pop($team, $node1);

Demo::show($team);

以上就是本文的全部内容,希望对大家实现php单链表有所帮助。

PHP 相关文章推荐
用session做客户验证时的注意事项
Oct 09 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
php设计模式之委托模式
Feb 13 PHP
PHP引用的调用方法分析
Apr 25 PHP
PHP简单实现数字分页功能示例
Aug 24 PHP
基于php判断客户端类型
Oct 14 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
Dec 12 PHP
PHP中的浅复制与深复制的实例详解
Oct 26 PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 PHP
TP5框架实现签到功能的方法分析
Apr 05 PHP
php实现断点续传大文件示例代码
Jun 19 PHP
Yii2.0预定义的别名功能小结
Jul 04 #PHP
Yii控制器中操作视图js的方法
Jul 04 #PHP
深入分析PHP优化及注意事项
Jul 04 #PHP
yum命令安装php7和相关扩展
Jul 04 #PHP
PHP中Array相关函数简介
Jul 03 #PHP
PHP与Java对比学习日期时间函数
Jul 03 #PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 #PHP
You might like
乐信RP2100的电路分析和打磨
2021/03/02 无线电
php&amp;java(二)
2006/10/09 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
JavaScript日期库date-fn.js使用方法解析
2020/09/09 Javascript
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
pycharm设置注释颜色的方法
2018/05/23 Python
python实现点对点聊天程序
2018/07/28 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
Python配置文件处理的方法教程
2019/08/29 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
python 实现任务管理清单案例
2020/04/25 Python
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
Java中实现多态的机制
2015/08/09 面试题
小学新教师培训方案
2014/02/03 职场文书
人事专员工作职责
2014/02/22 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
高中综合实践活动总结
2014/07/07 职场文书
中学生检讨书1000字
2014/10/28 职场文书
赔偿协议书怎么写
2015/01/28 职场文书