如何在PHP项目中实现一个循环链表功能-创新互联

这篇文章给大家介绍如何在PHP项目中实现一个循环链表功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联服务项目包括绥中网站建设、绥中网站制作、绥中网页制作以及绥中网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,绥中网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到绥中省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

概述:


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

如下图所示:

如何在PHP项目中实现一个循环链表功能

实现代码:

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 "
--------------------------
"; $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项目中实现一个循环链表功能-创新互联
浏览路径:http://pwwzsj.com/article/dciccs.html