主题:[讨论]如何进行二叉树非递归创建?
这是递归的:
Status CreateBiTree(BiTree *T)
{ char ch;
scanf("%c",&ch);
if (ch=='#') (*T)=NULL;
else {
(*T)=(BiTNode *)malloc(sizeof(BiTNode));
if (!(*T)) return ERROR;
(*T)->data=ch;//生成根结点
CreateBiTree(&((*T)->lchild));//构造左子树
CreateBiTree(&((*T)->rchild));//构造右子树
}
return OK;
}//CreateBiTree
怎么创建非递归的啊?我想了一晚上了,快要疯了~~~
Status CreateBiTree(BiTree *T)
{ char ch;
scanf("%c",&ch);
if (ch=='#') (*T)=NULL;
else {
(*T)=(BiTNode *)malloc(sizeof(BiTNode));
if (!(*T)) return ERROR;
(*T)->data=ch;//生成根结点
CreateBiTree(&((*T)->lchild));//构造左子树
CreateBiTree(&((*T)->rchild));//构造右子树
}
return OK;
}//CreateBiTree
怎么创建非递归的啊?我想了一晚上了,快要疯了~~~