二叉树之创建链式存储结构

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