05---二叉树---20195106100---李遂勋.c
#include<stdio.h>/*头文件*/ #include<stdlib.h> //定义二叉树结构体 typedef struct BiTNode { char data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; void PreOrderTraverse(BiTree T)//二叉树的先序遍历 { if(T==NULL) return ; printf("%c ",T->data); PreOrderTraverse(T->lchild); PreOrderTraverse(T->rchild); } //建立二叉树(按先序方式输入) void CreateBiTree(BiTree *T) { char ch; scanf("%c",&ch); if(ch=='0')/*输入0表示空节点*/ *T=NULL; else { *T=(BiTree )malloc(sizeof(BiTNode)); if(!*T) exit(-1); (*T)->data=ch; CreateBiTree(&(*T)->lchild); CreateBiTree(&(*T)->rchild); } } //主函数 int main() { BiTree T; CreateBiTree(&T); PreOrderTraverse (T); return 0; }