//使用棧完成計算乙個表示式的結果 10*9-3+5
public class usestack
public static int calculate(string str) else
}else
} else else } }
index++;
if(index>=expression.length)
} while(!operstack.isempty())
return res; }
}//陣列模擬棧
class arraystack2
//是否棧滿
public boolean isfull()
//是否棧空
public boolean isempty()
//入棧操作
public void push(int value) else }
//出棧操作
public int pop() else }
//彈出棧頂元素
public int peek()
//遍歷棧 從棧頂到棧底部
public void read()
} }//返回運算子的優先順序 優先順序是有程式設計師設定 優先順序用數字表示
//數字越大優先順序越高
public int priority(char oper)
if(oper=='+'||oper=='-') else
}//判斷是不是乙個運算子
public boolean isoper(char c) else
return false;
}//計算
public int calculate(int num1,int num2,char oper)
return res;
}}
棧的陣列實現
棧是乙個先入後出的有序資料結構 filo 棧的操作操作只能是在棧頂 top 或者棧底 bottom 進行 宣告 下面的 只是乙個最基礎的實現,沒有經過嚴格的測試。使用陣列模擬棧 public class myarraystack 判斷棧是否已經滿了 public boolean isfull pub...
棧的實現 陣列
前一篇寫了鍊錶棧,這一篇寫陣列棧 首先,還是定義結構體 struct node a typedef struct node a stack a typedef intelementtype a struct node a 下面是具體實現 define eofempty 1 表示棧為空 define ...
棧 Swift陣列實現棧
用陣列實現棧 class stack 棧頂 陣列的最後一條陣列 var peek anyobject?初始化棧,也就是初始化陣列 init 入棧操作 向陣列中追加資料 func push object anyobject 出棧操作 從陣列中移除最後一條資料 func pop anyobject?el...