package stack;
public
class
calculate2
else
if(ss.
isoper
(expression.
charat
(index +1)
))}else
else
if(ss.
priority
(ss.
top())
< ss.
priority
(ch)
)else
} index ++
; system.out.
println
("index:"
+ index)
;//注意index的位置每一次要用的原值的話,就放在最後
if(index ==
(expression.
length()
))}while
(true)}
system.out.
println
(expression +
" = "
+ ns.
pop())
;//掃瞄完畢之後在一次運算,數棧裡面最後的書就是結果}}
class
stack2
//棧基本的方法,是否為空,是否為滿,pop和push,以及show驗證
public
boolean
isempty()
public
boolean
isfull()
public
void
push
(int m)
top++
; stack[top]
= m;
}public
intpop()
int temp = stack[top]
; top--
;return temp;
}public
void
show()
}public
inttop()
//故而根據上情況要建立判斷優先順序的方法
public
intpriority
(int ch)
else
if(ch ==
'+'|| ch ==
'-')
else
}// 判斷是否為符號的方法,
public
boolean
isoper
(char ch)
// 運算的方法
public
intcal
(int num1,
int num2,
int ch)
else
if(ch ==
'/')
else
if(ch ==
'+')
else
if(ch ==
'-')
else
}}
空指標異常
多位數讀取失敗,讀取不了第二位
出現空棧的異常!
我居然不會debug!!!!!好像該犯的都犯了!!
C語言棧 多位數的表示式求和
include include include const char oper 7 define ok 1 define error 0 typedef char selemtype typedef int status typedef struct snode snode,linkstack do...
逆波蘭演算法(多位數運算)
問題描述 在計算機中,算術表示式由常量 變數 運算子和括號組成。由於不同的運算子具有不同的優先順序,又要考慮括號,因此,算術表示式的求值不可能嚴格地從左到右進行。因而在程式設計時,借助棧實現。任務要求 演算法輸入 乙個算術表示式,由常量 變數 運算子和括號組成 以字串形式輸入 為簡化,規定運算元只能...
Python 變數,運算表示式
變數 變數不需要先定義,可以直接複製使用 變數可重複儲存不同的資料型別 可同時為多個變數複製,用逗號隔開 a,b a b 不支援自增自減 變數引用計數 相同資料的賦值,會共享同一片空間位址,並非占用乙個新的位址單元,節約記憶體。使用sys模組下的getrefcount 函式檢視變數引用計數 impo...