C 二叉樹的建立以及遍歷

2021-06-20 02:04:37 字數 729 閱讀 4741

在筆試面試的過程中,二叉樹也是難點之一,考的也是比較多的。我也是被這個問題給難倒過,不能在乙個地方摔兩次啊!雖然這個東西第一次寫出來了,可是如果長時間不看不寫不用,還是很容易忘記的。溫故而知新,老子還是很厲害的啊,要謹記老子的話了。廢話不多說,直接上**吧!還是一樣在vc6.0上除錯過的。

#include #include #include using namespace std;

typedef struct bt

bt;void creatbt(bt *l,string str,int r) //建立二叉樹

else

if (str[r*2+2]=='#'||r*2+2>str.size()-1)

else }

void preorder(bt *root)//先序遍歷二叉樹

if (root->rch !=null) }

void inorder(bt *root)//中序遍歷二叉樹

} else }

void postorder(bt *root)//後序遍歷二叉樹

if (root->rch != null)

cout}int main()

{ bt *l = new bt;

string str;

cin>>str;

creatbt(l,str,0);

cout<<"先序遍歷二叉樹:";

preorder(l);

cout<

二叉樹建立以及遍歷

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

二叉樹建立 遍歷(C )

二叉樹的建立 前序遍歷 中序遍歷 後序遍歷 層序遍歷總結如下 c 以下面這棵二叉樹為例 定義乙個常量 using namespace std typedef struct binode 定義二叉鍊錶的結點結構 binode,bitree 等同於binode binode,bitree bitree ...

二叉樹的建立以及遍歷C C

一 二叉樹的定義 二叉樹 binary tree 是個有限元素的集合,該集合或者為空,或者由乙個稱為根 root 的元素及兩個不相交的 分別被稱為左子樹和右子樹的二叉樹組成。當集合為空時,稱該二叉樹為空二叉樹,在二叉樹中,乙個元素也成為乙個節點。二 二叉樹的資料結構 下面為二叉樹鏈式儲存結構的定義 ...