Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die Funktion einer zirkulären verknüpften Liste

PHP implementiert die Funktion einer zirkulären verknüpften Liste

墨辰丷
墨辰丷Original
2018-05-17 13:43:501740Durchsuche

Dieser Artikel stellt hauptsächlich die einfache Implementierung der zirkulären verknüpften Listenfunktion in PHP vor. Er beschreibt kurz das Konzept und die Funktion der zirkulären verknüpften Liste und analysiert die PHP-Definition und die damit verbundenen Bedienfähigkeiten bei der Verwendung der zirkulären verknüpften Liste Beispiele. Freunde in Not können darauf verweisen

Die Details sind wie folgt:

Übersicht:

Rundschreibende Liste ist eine andere Form der verknüpften Speicherstruktur. Sein Merkmal besteht darin, dass das Zeigerfeld des letzten Knotens in der Liste auf den Kopfknoten zeigt und die gesamte verknüpfte Liste einen Ring bildet.

Wie unten gezeigt:

Implementierungscode:

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

Laufendes Ergebnis:

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

Verwandte Empfehlungen:

JavaScript Beispiel für die gemeinsame Nutzung einer Datenstruktur für einfach verknüpfte Listen und zirkulär verknüpfte Listen

Einfache PHP-Implementierung einer Funktion für zirkulär verknüpfte Listen

JavaScript, doppelt verknüpfte Liste und zwei -Weg-zirkuläre verknüpfte Liste Implementieren Sie

Das obige ist der detaillierte Inhalt vonPHP implementiert die Funktion einer zirkulären verknüpften Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn