首頁  >  文章  >  後端開發  >  PHP逆波蘭式之工資計算實例

PHP逆波蘭式之工資計算實例

*文
*文原創
2017-12-27 13:41:541331瀏覽

PHP如何使用逆波蘭式進行薪資計算。本文主要介紹了PHP使用逆波蘭式計算工資的方法,實例分析了php逆波蘭式演算法的原理與相關使用技巧。希望對大家有幫助。

本文實例講述了PHP使用逆波蘭式計算工資的方法。分享給大家供大家參考。具體如下:

將一個普通的中序表達式轉換為逆波蘭表達式的一般演算法是:

首先需要分配2個棧,一個作為暫存運算子的棧S1 (含一個結束符號),一個作為輸入逆波蘭式的棧S2(空堆疊),S1棧可先放入優先權最低的運算子#,注意,中綴式應以此最低優先權的運算子結束。可指定其他字符,不一定非#不可。從中綴式的左端開始取字符,逐序進行如下步驟:

(1)若取出的字符是操作數,則分析出完整的運算數,該操作數直接送入S2棧;若取出的是運算符,且目前S1棧頂為(,則當前運算子直接入S1棧。

(2)若取出的字元是運算符,則將該運算子與S1棧棧頂元素比較,如果運算子優先權大於S1棧棧頂運算子優先權,則將運算子進S1棧,否者,將S1棧的棧頂運算子彈出,送入S2棧中,直到S1棧棧頂運算子低於(不包括等於)該運算子優先權,則將運算子送入S1棧。棧棧頂。此時拋棄“(”。

(5)重複上面的1~4步,直至處理完所有的輸入字元

(6)若取出的字元是“#”,則將S1棧內所有運算子(不包括「#」),逐個出棧,依序送入S2棧。逆序處理。

##php 二元樹遍歷演算法與範例

php 演算法之分割數組,不用array_chunk()_PHP教程

php 實作活動人選抽獎功能代碼

以上是PHP逆波蘭式之工資計算實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn