前序建立二叉树(使用和不使用二级指针)
这个贴子当做一篇笔记。也希望对其他人有用处。学习数据结构,用的C语言实现。没有引用,感觉用C写程序确实比用Java要多考虑。
程序代码:typedef struct BiTreeNode{
char data;
struct BiTreeNode *lchild;
struct BiTreeNode *rchild;
}BiTreeNode,*BiTree;
/*
使用二级指针前序建立二叉树
*/
void createBiTree(BiTree *pt){
char ch;
scanf("%c",&ch);
if(ch==' ')
*pt = null;
else{
*pt = (BiTreeNode *)malloc(sizeof(BiTreeNode));
(*pt)->data = ch;
createBiTree(&(*pt)->lchild);
createBiTree(&(*pt)->rchild);
}
}
/*
不使用二级指针前序建立二叉树
*/
BiTreeNode *createBiTree(){
BiTreeNode *pt;
char ch;
scanf("%c",&ch);
if(ch==' ')
pt = null;
else{
pt = (BiTreeNode *)malloc(sizeof(BiTreeNode));
pt->data = ch;
pt->lchild = createBiTree();
pt->rchild = createBiTree();
}
return pt;
}

