-
大小: 8KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-01-04
- 標(biāo)簽: 北郵??數(shù)據(jù)結(jié)構(gòu)??二叉樹??
資源簡介
北郵計(jì)算機(jī)學(xué)院數(shù)據(jù)結(jié)構(gòu)課的中期檢查代碼,用二叉樹存儲(chǔ)表達(dá)式,并求出表達(dá)式的值。同時(shí)帶有表達(dá)式檢錯(cuò)功能。
代碼片段和文件信息
#define?Inf?1e9
#include
#include
#include
using?namespace?std;
#define?MAXSIZE?100
bool?flag1=0flag2=0;//用于標(biāo)記是否有括號(hào)?
char?u[MAXSIZE];//用于初步儲(chǔ)存表達(dá)式?
int?w=0;
int?Length=0;???????//w用全局變量來計(jì)數(shù),是初步表達(dá)式轉(zhuǎn)換形式存入后綴表達(dá)式的結(jié)構(gòu)體?length用來記錄數(shù)組實(shí)際大小?
???????????????????//強(qiáng)調(diào)?全局變量與子函數(shù)中變量名相同會(huì)被忽略!!!!!!?
struct?member???//為了后綴式求值再次分類存儲(chǔ)表達(dá)式的后綴表達(dá)式?
{
int?a;
char?b;
};
struct?member?s[MAXSIZE];
class?tree
{
public:
int?data;
????char?ch;
????tree?*l*r;
????tree()
????{
????????ch=‘\0‘;
????????data=0;
????????l=r=NULL;
????}
};
void?judge(char?*sint?xint?ydouble?&n)
{
????double?num=0;
????int?i;
????for(i=x;?i ????????if(s[i]>=‘0‘&&s[i]<=‘9‘)
????????{
????????????num=num*10+(s[i]-‘0‘);
????????}
????????else?return?;
????n=num;
}
tree?*build(char?*sint?xint?y)
{
????tree?*n
評(píng)論
共有 條評(píng)論