Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel einer in PHP implementierten Stack-Datenstruktur [In den Stack drücken, aus dem Stack herausspringen, Stack durchqueren]_php-Kenntnisse

Beispiel einer in PHP implementierten Stack-Datenstruktur [In den Stack drücken, aus dem Stack herausspringen, Stack durchqueren]_php-Kenntnisse

韦小宝
韦小宝Original
2017-12-15 10:20:131597Durchsuche

In diesem Artikel wird hauptsächlich die von PHP implementierte Stapeldatenstruktur vorgestellt und die PHP-Definition für Stapel und Push, Pop und Stapeldurchquerung sowie andere verwandte Betriebsfähigkeiten analysiert Bei Bedarf können Sie sich auf diesen Artikel beziehen. Dieser Artikel beschreibt die von PHP implementierte Stapeldatenstruktur anhand von Beispielen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt: Unter Verwendung der

php-objektorientierten

-Idee umfassen die Attribute des Stapels die Oberseite, die maximale Speicheranzahl und den Speichercontainer ( hier mit dem php-Array ). 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:

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er kann für alle hilfreich sein! !
4
3
2
1
1

Verwandte Empfehlungen:

Beispielanalyse des PHP-Uploads einzelner Dateien und mehrerer Dateien

Detaillierte Erläuterung von Beispielen für Klassen und Objekte in PHP

Lösungen für von PHP generierte Miniaturansichten schlechter Qualität

Das obige ist der detaillierte Inhalt vonBeispiel einer in PHP implementierten Stack-Datenstruktur [In den Stack drücken, aus dem Stack herausspringen, Stack durchqueren]_php-Kenntnisse. 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