#include<stdio.h>
#include<stdlib.h>
typedef struct tree
{
int data;
struct tree *lchild,*rchild;
int lflag,rflag; //左右标记:lflag=1当前节点左孩子指向前驱,
//rflag=1右孩子指向当前节点后继
}bitree,*ptree;
//先序创建二叉树
int creattree(ptree *T)
{
int data;
scanf("%d",&data);
if(data == 0)(*T) = NULL;
else
{
(*T) = (ptree)malloc(sizeof(bitree));
if(!(*T)){printf("operate error.\n");exit(1);}
(*T)->data = data;
(*T)->lflag = 0; //树的......
阅读全文