Cet article présente principalement l'implémentation simple de la fonction de liste chaînée circulaire en PHP. Il 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
Aperçu :
La liste chaînée circulaire 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ésultat d'exécution :
12345678910 -------------------------- 36927185104
>
Comment générer des images floues en PHP
Explication détaillée de la façon d'implémenter la technologie socket push en PHP
Comment réaliser une conversion de cas en PHP ?
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!