Maison > développement back-end > tutoriel php > Exemple d'implémentation simple d'une fonction de liste chaînée circulaire en PHP

Exemple d'implémentation simple d'une fonction de liste chaînée circulaire en PHP

*文
Libérer: 2023-03-18 08:38:02
original
1576 Les gens l'ont consulté

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 :

Exemple dimplémentation simple dune fonction de liste chaînée circulaire en PHP


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;
}
Copier après la connexion


Résultat d'exécution :

12345678910
--------------------------
36927185104
Copier après la connexion

>


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal