#include
#include
#include "linktree.h"
#ifndef _LINKTREE_H
#define _LINKTREE_H
typedef char linktree_data_t;
typedef struct linktree{
linktree_data_t data;
struct linktree* lchild;
struct linktree* rchild;
}lkt_node,*lkt_pnode;
创建树
lkt_pnode create_space();
//先序
int p_order(lkt_pnode T);
//中序
//后序
#endif
创建树
lkt_pnode create_space()
{
linktree_data_t ch;
scanf("%c", &ch);
if('$' == ch)
return NULL;
lkt_pnode p = (lkt_pnode)malloc(sizeof(lkt_node));
if(NULL == p)
{
printf("malloc is default\n");
return NULL;
}
p->data = ch;
p->lchild = create_space();
p->rchild = create_space();
return p;
}
//先序
int p_order(lkt_pnode T)
{
if(NULL == T)
return 0;
printf("%c->", T->data);
p_order(T->lchild);
p_order(T->rchild);
return 0;
}
//中序
//后序
int main()
{
lkt_pnode T = create_space();
p_order(T);
}