二叉树
二叉树的根(节点)定义与创建
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
typedef struct Node
{
char data;
struct Node* left;
struct Node* right;
}Node;
Node* create_node(char data)
{
Node* node = malloc(sizeof(Node));
node->data = data;
node->left = NULL;
node->right = NULL;
return node;
}
创建树
输入一串带#的二差数 前序创建树 Node* create_tree(void)
Node* create_tree(void)
{
char ch = getchar();
if('#' == ch)
return NULL;
Node* root = create_node(ch);
root->left = create_tree();
root->right = create_tree();
return root;
}
通过 前序 中序 长度 创建一颗树 Node* create_tree(char* parr,char* marr,int len)
Node* create_tree(char* parr,char* marr,int len)
{
if(0 >= len)
return NULL;
Node* root = create_node(par