Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielerklärung der in PHP implementierten Stack-Datenstruktur

Beispielerklärung der in PHP implementierten Stack-Datenstruktur

jacklove
jackloveOriginal
2018-07-06 17:37:151977Durchsuche

In diesem Artikel wird hauptsächlich die von PHP implementierte Stapeldatenstruktur vorgestellt und der PHP-Definitionsstapel sowie die damit verbundenen Betriebsfähigkeiten wie Pushen, Knallen und Durchlaufen des Stapels anhand von Beispielen analysiert

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

Unter Verwendung des objektorientierten PHP-Denkens umfassen die Attribute des Stapels „Top“, „Maximale Speichernummer“ und „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

Artikel, die Sie interessieren könnten:

Laravel Skills Query Builder Overlay Chain Calling Method Explanation

Teilen der PHP-Implementierung des Fibonacci-Sequenzcodes

PHP implementiert eine Array-Suchfunktion basierend auf Dichotomie Beispiel

Das obige ist der detaillierte Inhalt vonBeispielerklärung der in PHP implementierten Stack-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
Vorheriger Artikel:PHP-VariablenfunktionNächster Artikel:PHP-Variablenfunktion