weixin_40775804
Capricornus_pzy
2017-11-12 06:39

想将二叉树进行先序输出,求大神帮看看,怎么修改,在线等急,谢谢

  • 二叉树的先序遍历

这个程序就是实现不了要求,按照先序输出程序代码如下:
#include #include#define FALSE 1#define ERROR 0#define OK 1#define ON 0//定义树的节点typedef struct BiTNode{ char data; struct BiTNode Lchild,*Rchild;}BiTNode,*BiTree; typedef int Status;BiTree T;//递归方式,先序遍历建立二叉树Status CreateBiTree(BiTree *T){ char ch; scanf("%c",&ch); if (ch=='#') { *T=NULL; } else { if(!((*T)=(BiTNode)malloc(sizeof(BiTNode)))) return ERROR; else{ (*T)->data=ch; CreateBiTree(&((*T)->Lchild)); CreateBiTree(&((*T)->Rchild)); } }return OK;} int Visit(char c){ printf ("%c",c);return OK;} void PreOrder(BiTree T) { if (T) { Visit(T->data ); PreOrder(T->Lchild ); PreOrder(T->Rchild ); } }int main (){ printf("先序输入二叉树:\n"); CreateBiTree(&T); printf("先序输出二叉树:\n"); PreOrder(T); printf("\n");}图片图片

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答