把輸入公式想象成壹個鏈表,可以是單鏈表,也可以是雙鏈表,隨妳喜歡。鏈表中有兩種節點,數字節點和運算符節點。
數值節點:有壹個double類型的數據字段和壹個指向操作符節點的指針字段。
操作符節點:有壹個char類型的數據字段用於存儲操作符,還有壹個指針字段用於指向下壹個操作數。
鏈表結構大概是:頭->操作數->;運算符->操作數->;運算符->操作數........................->運算符->操作數->;零.
然後先算乘除,再做加減。
乘除運算:從表頭找到運算子節點,數據字段為*或/。找到後,計算它兩邊數字節點的數據,把結果放在前壹個數字節點。然後刪除operator節點和其後的壹個number節點。
相當於...操作數->運算符1->;操作數->;操作員2...成為...操作數->;操作員2。
然後遍歷鏈表,執行上述過程,完成乘除法。
加法和減法與乘法和除法壹樣。