Maison >développement back-end >tutoriel php >Une explication complète et détaillée de la façon dont PHP implémente des exemples de structure de données de pile

Une explication complète et détaillée de la façon dont PHP implémente des exemples de structure de données de pile

小云云
小云云original
2017-12-13 09:58:161680parcourir

Cet article présente principalement la structure de données de pile implémentée par PHP et analyse la pile de définition PHP et les techniques de fonctionnement associées telles que l'empilement, le popping et le parcours de la pile sous forme d'exemples. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

En utilisant la pensée orientée objet PHP, les attributs de la pile incluent le sommet, le nombre de stockage maximum et le conteneur de stockage (un tableau php est utilisé ici).

Le code est le suivant : plusieurs méthodes de poussée, d'affichage et de parcours de la pile sont implémentées :

<?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();

Résultats d'exécution :

4
3
2
1
1
Recommandations associées :
Comment PHP implémente la structure des données de pile et la correspondance entre parenthèses algorithme Explication détaillée des exemples de code

Code utilisant des tableaux pour implémenter des structures de données de pile en PHP

Exemple d'analyse push et pop de table linéaire en plastique_Tutoriel PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn