文章

7

粉丝

0

获赞

18

访问

412

头像
二叉树遍历 C语言题解:递归查找位置插入
P1161 清华大学/南京大学机试题
发布于2026年3月12日 18:39
阅读数 21

#include <stdio.h>
#include <stdlib.h>

typedef struct TNode{//结点
    char id;
    struct TNode* lchild;
    struct TNode* rchild;
}TNode,*Tree;

int creatNode(Tree* T,char c){//通过根结点找到合适位置,插入结点
    TNode* child;
    if(*T==NULL){//空树
        child=(TNode*)malloc(sizeof(TNode));
        child->id=c;
        child->lchild=NULL;
        child->rchild=NULL;
        *T=child;
        return 1;
    }
    if((*T)->id=='#'){//该结点是终端结点,不能在下面插入
        return 0;
    }
    if(creatNode(&((*T)->lchild),c)==1){//递归尝试在左子树插入结点
        return 1;
    }else{
        return creatNode(&((*T)->rchild),c);//左子树插入失败,在右子树递归插入
    }
}

void deleteT...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发