亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

哪種數據結構適合求解方程

哪種數據結構適合求解方程

牛魔王的故事 2021-10-28 09:57:38
我計劃從基礎開發一個方程求解器,并能夠使用以下代碼進行基本的數學運算。我使用了一個令牌堆棧結構,用于存儲分隔符和數字令牌。雖然這個實現太基礎了,但我想在以后的版本中改進它。我只需要一些幫助我使用數據結構將令牌存儲為一組堆棧的方式。請提出任何錯誤?import java.util.ArrayList;import java.util.Stack;class TokenStack<N, D> {    private Stack<N> numberStack;    private Stack<D> delimStack;    public TokenStack() {        numberStack = new Stack<N>();        delimStack = new Stack<D>();    }    public void pushN(N num) {        numberStack.push(num);    }    public N popN() {        return numberStack.pop();    }    public void pushD(D delim) {        delimStack.push(delim);    }    public D popD() {        return delimStack.pop();    }    public boolean isEmptyN() {        return numberStack.isEmpty();    }    public boolean isEmptyD() {        return delimStack.isEmpty();    }}public class GeneralST {    private static final char SPACE_DELIM = ' ';    private static final char ADD_DELIM = '+';    private static final char SUB_DELIM = '-';    private static final char MUL_DELIM = '*';    private static final char DIV_DELIM = '/';    protected static final char EQU_DELIM = '=';    private TokenStack<String, Character> tokens = new TokenStack<String, Character>();    protected ArrayList<Character> acceptedDelims = new ArrayList<Character>();    protected ArrayList<Character> mathsDelims = new ArrayList<Character>();    protected double result;    public double getResult() {        return result;    }    protected void setupDelims() {        acceptedDelims.add(SPACE_DELIM);        mathsDelims.add(ADD_DELIM);        mathsDelims.add(SUB_DELIM);        mathsDelims.add(MUL_DELIM);        mathsDelims.add(DIV_DELIM);        acceptedDelims.addAll(mathsDelims);    }
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

你的問題是“算術評估”。

許多書“算法”中都提到了它。

解決它的最佳和簡單方法:使用堆棧和“后綴表示法”。

你可以找到很多你最喜歡的編程語言的文章。


查看完整回答
反對 回復 2021-10-28
  • 1 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號