国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP實現基于棧的后綴表達式求值功能

2024-05-05 00:01:01
字體:
來源:轉載
供稿:網友

本文實例講述了PHP實現基于棧的后綴表達式求值功能。分享給大家供大家參考,具體如下:

后綴表達式概述

后綴表達式,指的是不包含括號,運算符放在兩個運算對象的后面,所有的計算按運算符出現的順序,嚴格從左向右進行(不再考慮運算符的優先規則)。

實現代碼:

<?phpclass Stack{  public $stack;  public $stack_top;  public function __construct(){    $this->stack=array();    $this->stack_top=-1;  }  public function push($data){    $this->stack[]=$data;    $this->stack_top++;  }  public function pop(){    if(!$this->is_empty())    {      $this->stack_top--;      return array_pop($this->stack);    }else    {      echo "stack is empty";    }  }  public function is_empty(){    if($this->stack_top==-1)    return true;  }}$string="1243-*+63/-";$arrs=str_split($string);echo var_export($arrs);$stack=new Stack();foreach($arrs as $arr){  switch($arr){    case "+":$one=$stack->pop();$two=$stack->pop();$temp=$two + $one;$stack->push($temp);break;    case "-":$one=$stack->pop();$two=$stack->pop();$temp=$two - $one;$stack->push($temp);break;    case "*":$one=$stack->pop();$two=$stack->pop();$temp=$two * $one;$stack->push($temp);break;    case "/":$one=$stack->pop();$two=$stack->pop();$temp=$two / $one;$stack->push($temp);break;    default:$stack->push($arr);  }}echo $stack->pop();?>

運行結果:

array ( 0 => '1', 1 => '2', 2 => '4', 3 => '3', 4 => '-', 5 => '*', 6 => '+', 7 => '6', 8 => '3', 9 => '/', 10 => '-',)1

 

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 彰武县| 昂仁县| 汶川县| 阿尔山市| 环江| 台中市| 龙南县| 汝阳县| 柘荣县| 侯马市| 永胜县| 乐都县| 本溪市| 历史| 滦南县| 江都市| 南开区| 镇沅| 墨玉县| 长寿区| 诏安县| 互助| 奉新县| 轮台县| 常宁市| 乌鲁木齐县| 临朐县| 博乐市| 海丰县| 沙湾县| 体育| 榆树市| 巴彦县| 泗洪县| 延吉市| 长宁区| 望谟县| 新巴尔虎左旗| 张北县| 获嘉县| 永昌县|