将二叉树中每个结点的空指针引出一个虚结点,其值为一特定值,比如”#“。这种处理后的二叉树称为原二叉树的扩展二叉树。
前序遍历序列建立二叉树:
void CreateBiTree(BiTree *T){
TElemType ch;
scanf("%c",&ch);
if(ch=="#")
*T=NULL;
else{
*T=(BiTree)malloc(sizeof(BiTNode));
if(!*T)
exit(OVERFLOW) /*没有空间,溢出*/;
(*T)->data=ch; /*生成根节点*/
CreateBiTree(&(*T)->lchild); /*构造左子树*/
CreateBiTree(&(*T)->rchild); /*构造右子树 */
}
}