我負責創建一個程序,將類似((X+3)*(X+4))
的東西變成二叉樹,以及其他一些功能。到目前爲止,我已經接受了輸入,並將其解析爲兩個堆棧,一個包含操作數,另一個包含操作符。從Stack創建二叉樹?
我所定義的棧只是現在(所以他們只有一個nextnode和char value
。 但是,我似乎有問題,定義了樹)將來自堆值代入我的樹(因此可能是一個問題。
我的籌碼被定義爲這樣的:
typedef struct node
{
char value;
struct node * nextnode;
} node;
我的樹被定義爲:
typedef struct tree
{
node * thisNode;
struct tree *right, *left;
} tree;
我不知道日e節點*部分,也許它應該是不同的東西。
我一直在考慮初學者的簡單情況2 + 3。在這種情況下,樹的根應該是+,左邊是2,右邊是3.
+
/\
2 3
如何添加棧上的內容到我的樹?我一直在使用
root->thisNode = operatorTop;
哪裏operatorTop是運營商棧(定義爲node * operatorTop
)的頂部, 但即使這樣簡單的線條似乎試圖段錯誤。
你必須向我們展示了一個完整的程序,段錯誤。你的數據結構沒有任何內在的錯誤(除了你使用一個char作爲int並且你正在typedefing命名的結構,這不完全不正確)。 – nmichaels 2010-11-10 21:58:49
這就是我所問的幾乎所有問題,如果有什麼內在的錯誤。我忘了標籤,但這是作業,所以我不想/太多/太多的幫助。霍根讓我走上正軌,正是這樣。 – Blackbinary 2010-11-10 22:01:37