全面詳解PHP如何實作堆疊資料結構範例

小云云
發布: 2023-03-17 21:12:01
原創
1634 人瀏覽過

本文主要介紹PHP實現的棧資料結構,結合實例形式分析了php定義棧及入棧、出棧、遍歷棧等相關操作技巧,需要的朋友可以參考下,希望能幫助到大家。

利用php物件導向思想,堆疊的屬性有top、最大儲存數、和儲存容器(這裡利用了php陣列)。

程式碼如下:實作了入堆疊、出棧、遍歷堆疊的幾個方法:

#
<?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();
登入後複製

運行結果:

4
3
2
1
1
相關推薦:
php如何實作堆疊資料結構以及括號匹配演算法的程式碼範例詳解

PHP中使用陣列實作堆疊資料結構的程式碼

php線性資料表的入棧與出棧實例分析_PHP教學

以上是全面詳解PHP如何實作堆疊資料結構範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!