Heim  >  Artikel  >  Backend-Entwicklung  >  Eine umfassende und detaillierte Erklärung, wie PHP Beispiele für Stack-Datenstrukturen implementiert

Eine umfassende und detaillierte Erklärung, wie PHP Beispiele für Stack-Datenstrukturen implementiert

小云云
小云云Original
2017-12-13 09:58:161652Durchsuche

Dieser Artikel stellt hauptsächlich die von PHP implementierte Stapeldatenstruktur vor und analysiert anhand von Beispielen den PHP-Definitionsstapel und die damit verbundenen Betriebsfähigkeiten wie Pushen, Knallen und Durchlaufen des Stapels. Ich hoffe, es kann allen helfen.

Unter Verwendung des objektorientierten PHP-Denkens umfassen die Attribute des Stapels die Oberseite, die maximale Speichernummer und den Speichercontainer (hier wird ein PHP-Array verwendet).

Der Code lautet wie folgt: Es sind mehrere Methoden zum Schieben, Knallen und Durchlaufen des Stapels implementiert:

<?php
class Stack{
  const MAXSIZE = 4;// 栈最大容量
  private $top = -1;
  private $stack = array();// 利用数组存储数据
  public function __construct(){
    $this->stack = array();
  }
  // 入栈
  public function push($ele){
    if ($this->top >= self::MAXSIZE-1){
      echo &#39;stack is full...&#39;;
      return false;
    }
    $this->stack[++$this->top] = $ele;// 此处必须是++i,先计算再使用
  }
  // 出栈,返回出栈元素
  public function pop(){
    if ($this->top == -1){
      echo &#39;stack is empty...&#39;;
      return false;
    }
    $ele = $this->stack[$this->top];
    unset($this->stack[$this->top--]);// 此处必须是i--,先使用再计算(注意出栈和入栈的区别)
    return $ele;
  }
  // 遍历栈
  public function show(){
    if ($this->top == -1){
      echo &#39;stack is empty...&#39;;
      return false;
    }
    for($i=$this->top; $i>-1; $i--){
      echo $this->stack[$i].&#39;<br/>&#39;;
    }
  }
}
$stack = new Stack;
$stack->push(1);
$stack->push(2);
$stack->push(3);
$stack->push(4);
//print_r($stack);
$stack->show();
$a = $stack->pop();
$a = $stack->pop();
$a = $stack->pop();
$stack->show();

Laufergebnisse:

4
3
2
1
1
Verwandte Empfehlungen:
Wie PHP die Stapeldatenstruktur und den Klammerabgleich implementiert Algorithmus Detaillierte Erläuterung von Codebeispielen

Code mit Arrays zum Implementieren von Stapeldatenstrukturen in PHP

Push- und Pop-Beispielanalyse für lineare Kunststofftabellen_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonEine umfassende und detaillierte Erklärung, wie PHP Beispiele für Stack-Datenstrukturen implementiert. 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