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
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!