PHP简单实现循环链表功能示例
发布:smiling 来源: PHP粉丝网 添加日期:2021-08-19 10:04:49 浏览: 评论:0
这篇文章主要介绍了PHP简单实现循环链表功能,简单描述了循环链表的概念、功能并结合实例形式分析了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
Tags: PHP循环链表
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)