注册 登录
编程论坛 数据结构与算法

前序建立二叉树(使用和不使用二级指针)

三月的雪 发布于 2011-05-11 17:00, 1071 次点击
       这个贴子当做一篇笔记。也希望对其他人有用处。
       学习数据结构,用的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;
}

6 回复
#2
诸葛修勤2011-05-11 20:59
支持下
#3
营养书2011-05-11 22:46
正在学呢。。。拷走了,,好好看下,谢谢楼主啦
#4
m10139237282011-05-20 14:51
正在学啊!!!!!!!!!!!
#5
世界模型2011-06-12 21:06
来占个座学习下
#6
wengpingzhan2011-06-19 14:40
good
#7
mtxmxt2011-07-10 17:11
不错!  
1