Heim  >  Artikel  >  Backend-Entwicklung  >  Implementierungsbeispiel einer verketteten Warteschlangenstruktur in PHP

Implementierungsbeispiel einer verketteten Warteschlangenstruktur in PHP

黄舟
黄舟Original
2017-09-16 09:09:591054Durchsuche

In diesem Artikel wird hauptsächlich die von PHP implementierte Kettenwarteschlangenstruktur sowie die Implementierung und Verwendung grundlegender Vorgänge wie Einreihen, Ausreihen und Drucken in die Warteschlange anhand spezifischer Beispiele vorgestellt Als Referenz:

Das Beispiel in diesem Artikel beschreibt die von PHP implementierte verkettete Warteschlangenstruktur. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:


<?php
header("Content-Type:text/html;charset=utf-8");
/**
 * 链式队列
 */
class node{
  public $nickname;
  public $next;
}
class queue
{
  public $front;//头部
  public $tail;//尾部
  public $maxSize;//容量
  public $next;//指针
  public $len=0;//长度
  public function __construct($size)
  {
    $this->init($size);
  }
  public function init($size)
  {
    $this->front = $this;
    $this->tail = $this;
    $this->maxSize = $size;
  }
  //入队操作
  public function inQ($nickname)
  {
    $node = new node();
    $node->nickname = $nickname;
    if ($this->len==$this->maxSize)
    {
      echo &#39;队满了</br>&#39;;
    } else {
      $this->tail = $node;
      $this->tail->next = $node;
      $this->len++;
      echo $node->nickname.&#39;入队成功</br>&#39;;
    }
  }
  //出队操作
  public function outQ()
  {
    if ($this->len==0)
    {
      echo &#39;队空了</br>&#39;;
    } else {
      $p = $this->front->next;
      $this->front->next = $p->next;
      $this->len--;
      echo $p->nickname.&#39;出队成功</br>&#39;;
    }
  }
  //打印队
  public function show()
  {
    for ($i=$this->len;$i>0;$i--)
    {
      $this->outQ();
    }
  }
}
echo "**********入队操作******************</br>";
$q = new queue(5);
$q->inQ(&#39;入云龙&#39;);
$q->inQ(&#39;花和尚&#39;);
$q->inQ(&#39;青面兽&#39;);
$q->inQ(&#39;行者&#39;);
$q->inQ(&#39;玉麒麟&#39;);
$q->inQ(&#39;母夜叉&#39;);
echo "**********出队队操作******************</br>";
$q->outQ();
$q->outQ();
$q->outQ();
$q->outQ();
$q->inQ(&#39;操刀鬼&#39;);
$q->inQ(&#39;截江鬼&#39;);
$q->inQ(&#39;赤发鬼&#39;);
$q->outQ();
?>

Laufergebnisse:

Das obige ist der detaillierte Inhalt vonImplementierungsbeispiel einer verketteten Warteschlangenstruktur in PHP. 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