Maison >développement back-end >tutoriel php >Exemple d'explication de la structure de données de la pile implémentée en PHP

Exemple d'explication de la structure de données de la pile implémentée en PHP

jacklove
jackloveoriginal
2018-07-06 17:37:151999parcourir

Cet article présente principalement la structure de données de la pile implémentée par PHP et analyse la pile de définitions PHP et les compétences opérationnelles associées telles que pousser, faire apparaître et parcourir la pile sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

L'exemple de cet article décrit la structure de données de pile implémentée par PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

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

Articles qui pourraient vous intéresser :

Superposition du générateur de requêtes de compétences Laravel Explication de méthode d'appel en chaîne

Partage du code PHP pour implémenter la séquence de Fibonacci

PHP est basé sur la méthode de dichotomie Exemple d'explication de la mise en œuvre de la fonction de recherche de tableau

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
Article précédent:fonction variable phpArticle suivant:fonction variable php