Dijkstra雙棧算數表達式求值算法的過程與分析

過程 將操作數壓入操作數棧; 將運算符壓入運算符棧; 忽略左括號; 在遇到右括號時,彈出一個運算符,彈出所需數量的操作數,並將運算符和操作 數的運算結果壓入操作數棧。 舉例分析 計算(1+((2+3)*(4*5))) ops—運算符棧 vals—操作數棧 依次讀取輸入的字符壓入棧中 遇到「)」,進行彈棧操作 計算:v=2+3=5; 將運算符和操作數的運算結果壓入操作數棧 繼續讀取進行壓棧操作 遇到
相關文章
相關標籤/搜索