#include <stdio.h> #include <stdlib.h> typedef struct tree{ char data; struct tree *left,*right; }tree; struct tree* creat(tree *T,char *p){ T=malloc(sizeof(struct tree)); T->data=*p; printf("%c",*p); if(T->data=='#'){ T=NULL; } else{ // printf("%c",T->data); creat(T->left,p++); creat(T->right,p++); } return T; } int main(void){ char str[80]; while(scanf("%s",str)!=EOF){ char *p=str; tree *T=NULL; T=creat(T,p); } return 0; }
时间: 2024-04-02 15:32:28 浏览: 58
#include <stdio.h>
这段代码是一个用于构建二叉树的程序,它通过输入一串字符来创建一个二叉树。具体来说,输入的字符中包含 '#' 表示当前节点为空,其他字符表示当前节点的数据。程序通过递归的方式,先创建该节点,然后递归创建其左右子树,最终返回该节点。每次递归时,指针 p 指向输入字符的下一个字符,这样就可以逐个读取字符并构建二叉树。最终,程序返回整个二叉树的根节点。
阅读全文