建立完全二叉樹,並且進行中序遍歷(C )

2021-09-26 23:59:33 字數 721 閱讀 5484

/*建立完全二叉樹 並且輸出中序遍歷的結果 res為中序遍歷的結果 

遍歷方式是根據根節點的命名的,如中序,第二個訪問根節點

前序遍歷:根左右

中序遍歷:左跟右

後序遍歷:左右根

*/#include #include #include using namespace std;

class node

;class tree

;tree::tree()

void tree::insert(int value)

else

else

}else

} }}

void tree::midtra(queue&res)

node* temp = root;

stacks;

while (1)

//找到最左下角的元素

res.push(temp);//在這之前省去了兩步,把左下角的放棧中再拿出來

if (s.empty())//棧為空

temp = s.top();

s.pop();

res.push(temp);

if (temp->right)

else

}}int main()

queueres;

tree.midtra(res);

return 0;

}

建立二叉樹並中序遍歷

題目描述 編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入輸入有多組測試資料。每組資料為一行字串,長度不超過100...

根據二叉樹的先序遍歷和中序遍歷建立二叉樹

根據二叉樹的先序遍歷和中序遍歷建立二叉樹 rebacktree 根據二叉樹的先序遍歷和中序遍歷建立二叉樹。rebacktree1 根據二叉樹的後序序遍歷和中序遍歷建立二叉樹。include stdio.h include stdlib.h typedef struct node node,nodep...

二叉樹中序遍歷

訪問根結點的的左子樹,訪問根結點和訪問根結點的右子樹依次記作 l,d r 中序遍歷 ldr 演算法 遍歷根結點的左子樹,訪問根結點 遍歷根結點的右子樹 對於上面的圖,我們假定只有a,b,c三個結點,則中序遍歷結果為 b a c 採用上節 二叉樹鏈式儲存和前序遍歷 中的遞迴推演 db a c d b ...