題目描述
編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹(以指標方式儲存)。 例如如下的先序遍歷字串: abc##de#g##f### 其中「#」表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。
輸入描述 :
輸入包括1行字串,長度不超過100。
輸出描述 :
可能有多組測試資料,對於每組資料,
輸出將輸入字串建立二叉樹後中序遍歷的序列,每個字元後面都有乙個空格。
每個輸出結果佔一行。
示例1輸入
複製abc##de#g##f###
輸出複製
c b e g d f a
執行步驟:
1.先建立出乙個二叉樹
2.對二叉樹進行中序遍歷
#define _crt_secure_no_warnings
#include
#include
typedef
struct node node;
//建立二叉樹
node*
creattree
(char
* str,
int* idx)
else
}//中序遍歷
void
inorder
(node*root)
}int
main()
;scanf
("%s"
, str)
;int idx =0;
node* root =
creattree
(str,
&idx)
;inorder
(root)
;printf
("\n");
system
("pause");
return0;
}
執行結果: 二叉樹建立 遍歷
include include include include using namespace std typedef struct node char ch struct node lchild,rchild bitnode,bitree int treenum 0 總結點數 void creat...
C 二叉樹的建立以及遍歷
在筆試面試的過程中,二叉樹也是難點之一,考的也是比較多的。我也是被這個問題給難倒過,不能在乙個地方摔兩次啊!雖然這個東西第一次寫出來了,可是如果長時間不看不寫不用,還是很容易忘記的。溫故而知新,老子還是很厲害的啊,要謹記老子的話了。廢話不多說,直接上 吧!還是一樣在vc6.0上除錯過的。includ...
二叉樹的建立以及遍歷C C
一 二叉樹的定義 二叉樹 binary tree 是個有限元素的集合,該集合或者為空,或者由乙個稱為根 root 的元素及兩個不相交的 分別被稱為左子樹和右子樹的二叉樹組成。當集合為空時,稱該二叉樹為空二叉樹,在二叉樹中,乙個元素也成為乙個節點。二 二叉樹的資料結構 下面為二叉樹鏈式儲存結構的定義 ...