二叉樹建立以及遍歷

2021-10-06 13:57:32 字數 1078 閱讀 7710

題目描述

編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹(以指標方式儲存)。 例如如下的先序遍歷字串: 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 的元素及兩個不相交的 分別被稱為左子樹和右子樹的二叉樹組成。當集合為空時,稱該二叉樹為空二叉樹,在二叉樹中,乙個元素也成為乙個節點。二 二叉樹的資料結構 下面為二叉樹鏈式儲存結構的定義 ...