数据结构之树的新建

数据结构之树的新建

树这一章节,最最具有代表性的就是二叉树。当然,和树相关的就有一系列功能的实现。例如,树的新建,数的赋值,数的遍历,数的深度的计算等等。下面只谈一谈数的新建。


下面是一段代码:

void GreatBiTree(sTree root){      //将树根的引用传进来
    int a; 
    printf("请输入该节点的值\n");
    scanf("%d",&(root->e ) );   //对这个节点自身赋值
    printf("需要创建左孩子请输入1,否则输入0\n");
    scanf("%d",&a);
    if(a==1){
        root->left=(sTree)malloc(sizeof(Tree));
    GreatBiTree(root->left);
    } 
    else root->left=NULL; //如果需要创建左孩子那么把这个节点当作根                                   //再次调用这个方法使用递归。
    printf("需要创建右孩子请输入1,否则输入0\n");
    scanf("%d",&a);//右孩子同上
    if(a==1) {root->right=(sTree)malloc(sizeof(Tree));
              GreatBiTree(root->right);}
    else root->right=NULL;  
}

数的新建过程可以使用化繁为简的思想,将整棵树化简到每一个节点。对该节点赋值后,然后将这个节点当作一个根继续调用此函数,直到叶子节点。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章