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 fsockopen写的HTTP下载的类
Feb 22 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
Jun 21 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 PHP
php微信公众号开发之关键词回复
Oct 20 PHP
PDO::setAttribute讲解
Jan 29 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
Sep 25 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
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
Python中模块string.py详解
2017/03/12 Python
python将unicode转为str的方法
2017/06/21 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
Python3 合并二叉树的实现
2019/09/30 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
Python如何合并多个字典或映射
2020/07/24 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
研发工程师岗位职责
2014/04/28 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
考研英语辞职信
2015/05/13 职场文书
工作感言一句话
2015/08/01 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android