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 相关文章推荐
php面向对象全攻略 (八)重载新的方法
Sep 30 PHP
PHP原理之异常机制深入分析
Aug 08 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
探讨如何在php168_cms中提取验证码
Jun 08 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
php获取当前url地址的方法小结
Jan 10 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 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
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
PHP 翻页 实例代码
2009/08/07 PHP
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
PHP 图片水印类代码
2012/08/27 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
ie 调试javascript的工具
2009/04/29 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
在Python的Django框架中包装视图函数
2015/07/20 Python
flask中的wtforms使用方法
2018/07/21 Python
Python实现微信好友的数据分析
2019/12/16 Python
Keras搭建自编码器操作
2020/07/03 Python
python,Java,JavaScript实现indexOf
2020/09/09 Python
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
商务英语本科生的自我评价分享
2013/11/15 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
技能比武方案
2014/05/21 职场文书
行政部经理助理岗位职责
2014/06/15 职场文书
毕业生个人总结
2015/02/28 职场文书
干部培训工作总结2015
2015/05/25 职场文书
休假证明书
2015/06/24 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers