表示式樹的建立與輸出

2021-09-24 19:38:48 字數 1011 閱讀 7174

表示式樹的建立與輸出

編乙個程式,讀入先序遍歷字串,根據此字串建立一棵二叉樹(以指標方式儲存),請注意的是,我們保證該樹一定是表示式樹(見教材5.2 5.8)。

例如下面的先序遍歷字串:

建立起此二叉樹以後,再按要求輸出二叉樹。

輸入輸入由多組測試資料組成。

每組資料報含一行字串,即表示式樹的先序遍歷序列,字串長度大於0且不超過100。

輸出對於每組資料,輸出一行,內容是該表示式樹的全括號表示式,見示例。

樣例輸入

樣例輸出

(13+(5*9))

((13+5)*9)

#include #include #include typedef struct binode

binode,*bitree;

int m = 0;

bitree g;

char b[101][5];

bitree createbitree( bitree g ) //建立二叉鍊錶

else

return g;

}void inorder( bitree g )

else printf("%s",g->data);

}}int main()

}b[p++][q++] = '\0'; //將字串分離出來

g = createbitree( g ); //建樹,把陣列所得的字串存入樹中;

inorder( g );

printf("\n");

m = 0;

}return 0;

}

若要輸出最終結果,如:

(13+(5*9))=58

((13+5)*9)=162

則只需加乙個函式即可,函式**如下:

int make_end( bitree g ) //字串轉化成數值

}else

return y;}}

}

表示式樹的建立與輸出

題目描述 編乙個程式,讀入先序遍歷字串,根據此字串建立一棵二叉樹 以指標方式儲存 請注意的是,我們保證該樹一定是表示式樹 見教材5.2 5.8 例如下面的先序遍歷字串 每組資料報含一行字串,即表示式樹的先序遍歷序列,字串長度大於0且不超過100。輸出對於每組資料,輸出一行,內容是該表示式樹的全括號表...

表示式樹的建立與輸出

表示式樹的建立與輸出編乙個程式,讀入先序遍歷字串,根據此字串建立一棵二叉樹 以指標方式儲存 請注意的是,我們保證該樹一定是表示式樹 見教材5.2 5.8 例如下面的先序遍歷字串 13 5 9 運算子只可能是加減乘除,數值為小於等於100,各結點用空格分開,其中 代表空樹。建立起此二叉樹以後,再按要求...

表示式樹的建立與輸出

題目要求 根據前序序列建立表示式數並輸出表示式。這裡可以巧妙的使用遞迴演算法解決問題。這裡主要是必須要理清操作符和運算元的關係。所有運算元都為葉子節點,操作符為雙親節點或者根節點。遇到 符號停止遞迴。來自參考 原始碼與注釋 include include include using namespac...