Heim  >  Artikel  >  Backend-Entwicklung  >  PHP erstellt verknüpfte Listen und fügt verknüpfte Listenknoten hinzu, löscht sie, aktualisiert sie und durchläuft sie

PHP erstellt verknüpfte Listen und fügt verknüpfte Listenknoten hinzu, löscht sie, aktualisiert sie und durchläuft sie

墨辰丷
墨辰丷Original
2018-06-08 17:59:423210Durchsuche

Dieser Artikel stellt hauptsächlich die Erstellung verknüpfter Listen in PHP sowie das Hinzufügen, Löschen, Aktualisieren und Durchlaufen verknüpfter Listenknoten vor. Ich hoffe, dass er für alle hilfreich ist.

Die Beispiele in diesem Artikel beschreiben die Verwendung von PHP-verknüpften Listen wie folgt:

Hier finden Sie eine kurze Einführung in die grundlegende Verwendung von PHP-verknüpften Listen, einschließlich der Erstellung, Durchquerung und Aktualisierung von verknüpften Listenknoten.

<?php
/**
 * @author MzXy
 * @copyright 2011
 * @param PHP链表
 */
/**
*
*节点类
*/
class Node
{
  private $Data;//节点数据
  private $Next;//下一节点
  public function setData($value){
    $this->Data=$value;
  }
  public function setNext($value){
     $this->Next=$value;
  }  
  public function getData(){
    return $this->Data;
  }
  public function getNext(){
    return $this->Next;
  }
  public function __construct($data,$next){
    $this->setData($data);
    $this->setNext($next);
  }
}//功能类
class LinkList
{
  private $header;//头节点
  private $size;//长度
  public function getSize(){
    $i=0;
    $node=$this->header;
    while($node->getNext()!=null)
    {  $i++;
      $node=$node->getNext();
    }
   return $i;
  }
  public function setHeader($value){
    $this->header=$value;
  }
  public function getHeader(){
    return $this->header;
  }
  public function __construct(){
     header("content-type:text/html; charset=utf-8");
    $this->setHeader(new Node(null,null));
  }
  /**
  *@author MzXy
  *@param $data--要添加节点的数据
  * 
  */
  public function add($data)
  {
    $node=$this->header;
    while($node->getNext()!=null)
    {
      $node=$node->getNext();
    }
    $node->setNext(new Node($data,null));
  }
   /**
  *@author MzXy
  *@param $data--要移除节点的数据
  * 
  */
  public function removeAt($data)
  {
    $node=$this->header;
    while($node->getData()!=$data)
    {
      $node=$node->getNext();
    }
    $node->setNext($node->getNext());
    $node->setData($node->getNext()->getData());
  }
   /**
  *@author MzXy
  *@param 遍历
  * 
  */
  public function get()
  {
    $node=$this->header;
    if($node->getNext()==null){
      print("数据集为空!");
      return;
    }
    while($node->getNext()!=null)
    {
      print($node->getNext()->getData());
      if($node->getNext()->getNext()==null){break;}
      $node=$node->getNext();
    }
  }
   /**
  *@author MzXy
  *@param $data--要访问的节点的数据
  * @param 此方法只是演示不具有实际意义
  * 
  */
  public function getAt($data)
  {
    $node=$this->header->getNext();
     if($node->getNext()==null){
      print("数据集为空!");
      return;
    }
    while($node->getData()!=$data)
    {
      if($node->getNext()==null){break;}
      $node=$node->getNext();
    }
    return $node->getData();    
  }
   /**
  *@author MzXy
  *@param $value--需要更新的节点的原数据 --$initial---更新后的数据
  * 
  */
  public function update($initial,$value)
  {
     $node=$this->header->getNext();
     if($node->getNext()==null){
      print("数据集为空!");
      return;
    }
    while($node->getData()!=$data)
    {
      if($node->getNext()==null){break;}
      $node=$node->getNext();
    }
     $node->setData($initial);   
  }
}
?>

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

PHP-Medium-Cache-Klassifizierungsdatenbank-Cache

PHP-Datei-Upload-Verwaltungssystem

php implementiert die Import- und Exportfunktion von Daten im CSV-Format

Das obige ist der detaillierte Inhalt vonPHP erstellt verknüpfte Listen und fügt verknüpfte Listenknoten hinzu, löscht sie, aktualisiert sie und durchläuft sie. 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