PHP简单实现循环链表功能示例


Posted in PHP onNovember 10, 2017

本文实例讲述了PHP简单实现循环链表功能。分享给大家供大家参考,具体如下:

概述:

循环链表是另一种形式的链式存贮结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。

如下图所示:

PHP简单实现循环链表功能示例

实现代码:

<?php
class node{
  public $data;
  public $link;
  public function __construct($data=null,$link=null){
    $this->data=$data;
    $this->link=$link;
  }
}
class cycleLinkList{
  public $head;
  public function __construct($data,$link=null){
    $this->head=new node($data,$link);
    $this->head->link=$this->head;
  }
  public function insertLink($data){
    $p=new node($data);
    $q=$this->head->link;
    $r=$this->head;
    if($q==$r)
    {
      $q->link=$p;
      $p->link=$q;
      return;
    }
    while($q!=$this->head){
      $r=$q;$q=$q->link;
    }
    $r->link=$p;
    $p->link=$this->head;
  }
}
$linklist=new cycleLinkList(1);
for($i=2;$i<11;$i++){
   $linklist->insertLink($i);
}
$q=$linklist->head->link;
echo $linklist->head->data;
while($q!=$linklist->head){
  echo $q->data;
  $q=$q->link;
}
echo "<br>--------------------------<br>";
$p=$linklist->head;
$r=$p;
$n=10;
$i=2;
while($n)
{
    while(0!=$i){
    $r=$p;$p=$p->link;
    $i--;
    }
    echo $p->data;
    $r->link=$p->link;
    $tmp=$p;
    $p=$p->link;
    unset($tmp);
    $n--;
    $i=2;
}
?>

运行结果:

12345678910
--------------------------
36927185104

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php UTF-8、Unicode和BOM问题
May 18 PHP
PHP的加密方式及原理
Jun 14 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
PHP使用file_get_content设置头信息的方法
Feb 14 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
浅谈php://filter的妙用
Mar 05 PHP
php输出文字乱码的解决方法
Oct 04 PHP
php + ajax 实现的写入数据库操作简单示例
May 16 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 #PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 #PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 #PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 #PHP
php实现的三个常用加密解密功能函数示例
Nov 06 #PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
Nov 06 #PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
Nov 06 #PHP
You might like
php导出word格式数据的代码实例
2013/11/25 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
javascript事件处理模型实例说明
2016/05/31 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
金融专业毕业生推荐信
2013/11/26 职场文书
2014年教师培训的自我评价
2014/01/03 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
公开承诺书格式
2014/05/21 职场文书
护林防火标语
2014/06/27 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
英语演讲开场白
2015/05/29 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
python中subplot大小的设置步骤
2021/06/28 Python