Home >Backend Development >PHP Tutorial >Example of stack data structure implemented in PHP [Push into stack, pop out of stack, traverse stack]_php skills

Example of stack data structure implemented in PHP [Push into stack, pop out of stack, traverse stack]_php skills

韦小宝
韦小宝Original
2017-12-15 10:20:131601browse

This article mainly introduces the stack data structure implemented by PHP, and analyzes php's definition of stack and push, pop, and For stack traversal and other related operation skills, friends in need can refer to this article. This article describes the stack data structure implemented by PHP with examples. Share it with everyone for your reference, the details are as follows: Using

php object-oriented

ideas, the properties of the stack include top, maximum storage number, and storage container (the 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();


Run Result:

4
3
2
1
1

The above is all the content of this article, I hope it can be helpful to everyone! !

Related recommendations:

Example analysis of PHP single file and multiple file upload

Detailed explanation of examples of classes and objects in php

Solutions to poor quality thumbnails generated by php

The above is the detailed content of Example of stack data structure implemented in PHP [Push into stack, pop out of stack, traverse stack]_php skills. 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