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

小云云
Libérer: 2023-03-17 21:12:01
original
1684 Les gens l'ont consulté

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();
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal