二叉树之创建链式存储结构
akino ... 2021-04-24 小于 1 分钟
# 先序创建
说明:空树用字符‘0’表示
class TreeNode {
public:
char data;
ListNode *lChild;
ListNode *rChild;
ListNode() {
lChild = NULL;
rChild = NULL;
}
};
class Tree {
public:
TreeNode *root;
int pos;
Tree() {
pos = 0;
}
TreeNode *createTree(char str[]) {
char data = str[pos];
pos++;
if(data != '0') {
ListNode *p = new TreeNode();
p->data = data;
p->lChild = createTree(str);
p->rChild = createTree(str);
return p;
} else {
return NULL;
}
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32