Home  >  Article  >  Backend Development  >  Example explanation of stack data structure implemented in PHP

Example explanation of stack data structure implemented in PHP

jacklove
jackloveOriginal
2018-07-06 17:37:151994browse

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 &#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();

Running results:

4
3
2
1
1

Articles you may be interested in:

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php variable functionNext article:php variable function