Maison  >  Article  >  développement back-end  >  PHP implémente la fonction de liste chaînée circulaire

PHP implémente la fonction de liste chaînée circulaire

墨辰丷
墨辰丷original
2018-05-17 13:43:501739parcourir

Cet article présente principalement l'implémentation simple de la fonction de liste chaînée circulaire en PHP, décrit brièvement le concept et la fonction de la liste chaînée circulaire, et analyse la définition PHP et les compétences opérationnelles associées à l'utilisation de la liste chaînée circulaire sous la forme de exemples. Les amis dans le besoin peuvent s'y référer

Les détails sont les suivants :

Aperçu :

Liste circulaire chaînée. est une autre forme de structure de stockage liée. Sa caractéristique est que le champ de pointeur du dernier nœud de la liste pointe vers le nœud principal et que l'ensemble de la liste chaînée forme un anneau.

Comme indiqué ci-dessous :

Code d'implémentation :

<?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;
}
?>

Résultats d'exécution :

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

Recommandations associées :

Structure de données JavaScript, partage d'exemples de liste chaînée unique et de liste chaînée circulaire

Un exemple d'implémentation simple de la fonction de liste chaînée circulaire en PHP

Liste doublement chaînée JavaScript et mise en œuvre d'une liste chaînée circulaire bidirectionnelle

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn