Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung von Beispielen für verknüpfte Listenwarteschlangen in der PHP-Datenstruktur

Detaillierte Erläuterung von Beispielen für verknüpfte Listenwarteschlangen in der PHP-Datenstruktur

黄舟
黄舟Original
2017-10-18 09:11:591032Durchsuche

Dieser Artikel stellt hauptsächlich die relevanten Informationen zur PHP-Datenstruktur-Warteschlange für verknüpfte Listen vor. Ich hoffe, dass dieser Artikel allen Freunden in Not helfen kann

PHP-Warteschlange für verknüpfte Listen

Beispielcode:


class Queue{ 
  
  private $last; 
  private $first; 
  private $oldfirst; 
  private static $n=0; 
   
  public function __construct(){ 
    $this->last   = null; 
    $this->first  = null; 
    $this->oldfirst = null; 
  } 
   
  public function push($item){ 
    $this->oldfirst = $this->last; 
    $this->last = new Node(); 
    $this->last->item = $item; 
    $this->last->next = null; 
    if(empty($this->first)){ 
      $this->first = $this->last; 
    }else{ 
      $this->oldfirst->next = $this->last; 
    } 
    self::$n++; 
  } 
   
  public function pop(){ 
    if(self::$n<0){ 
      return null; 
    } 
    $item = $this->first->item; 
    $this->first = $this->first->next; 
    self::$n--; 
    return $item; 
  } 
   
} 
 
class Node{ 
  public $item; 
  public $next; 
} 
 
$Queue = new Queue(); 
$Queue->push("a"); 
$Queue->push("b"); 
$Queue->push("c"); 
echo $Queue->pop().PHP_EOL; 
echo $Queue->pop().PHP_EOL; 
echo $Queue->pop().PHP_EOL; 
echo $Queue->pop().PHP_EOL;

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für verknüpfte Listenwarteschlangen in der PHP-Datenstruktur. 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