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 push, pop, et pour la traversée de la pile et d'autres compétences opérationnelles connexes, amis dans Vous pouvez vous référer à cet article. Cet article décrit la structure de données de pile implémentée par PHP avec des exemples. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants : En utilisant l'idée
orientée objet php, les propriétés de la pile incluent le sommet, le nombre de stockage maximum et le conteneur de stockage ( ici en utilisant le tableau php ). Le code est le suivant : plusieurs méthodes de poussée, d'éclatement 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 'stack is full...'; return false; } $this->stack[++$this->top] = $ele;// 此处必须是++i,先计算再使用 } // 出栈,返回出栈元素 public function pop(){ if ($this->top == -1){ echo 'stack is empty...'; return false; } $ele = $this->stack[$this->top]; unset($this->stack[$this->top--]);// 此处必须是i--,先使用再计算(注意出栈和入栈的区别) return $ele; } // 遍历栈 public function show(){ if ($this->top == -1){ echo 'stack is empty...'; return false; } for($i=$this->top; $i>-1; $i--){ echo $this->stack[$i].'<br/>'; } } } $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 de l'exécution :
4 3 2 1 1
Recommandations associées :
Exemple d'analyse du téléchargement de fichiers uniques et multi-fichiers PHP
Explication détaillée d'exemples de classes et d'objets en phpSolutions aux vignettes de mauvaise qualité générées par phpCe 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!