Home > Article > Backend Development > Example explanation of stack data structure implemented in PHP
This article mainly introduces the stack data structure implemented by PHP, and analyzes the PHP definition stack and related operation skills such as pushing, popping, and traversing the stack in the form of examples. Friends in need can refer to it
The example in this article describes the stack data structure implemented by PHP. Share it with everyone for your reference, the details are as follows:
Using PHP object-oriented thinking, the attributes of the stack include top, maximum storage number, and storage container (php array is used here).
The code is as follows: Several methods of pushing, popping, and traversing the stack are implemented:
<?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();
Running results:
4 3 2 1 1
laravel skills Query Builder overlay chain calling method Explanation
Sharing of PHP code to implement Fibonacci sequence
PHP implements array search function based on dichotomy Example explanation
The above is the detailed content of Example explanation of stack data structure implemented in PHP. For more information, please follow other related articles on the PHP Chinese website!