level 1
用户名不便透露
楼主
请问怎样修改程序能在主程序中提供下列菜单: 1…建立二叉树 对应CreateTree 2…前序遍历二叉树 对应PreOrderTree 3…中序遍历二叉树 对应InOrderTree 4…后序遍历二叉树 对应LaOrderTree 0…结束 程序在这: #include
#include
typedef struct BiTNode { char data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; int CreateTree(BiTree *T) { char ch; scanf("%c",&ch); if(ch=='#') *T=NULL; else{ if(!(*T=(BiTree)malloc(sizeof(BiTNode)))) return 0; (*T)->data=ch; CreateTree(&((*T)->lchild)); CreateTree(&((*T)->rchild)); } return 1; } int PreOrderTree(BiTree T) { if(T) { printf("%c",T->data); PreOrderTree(T->lchild); PreOrderTree(T->rchild); } return 1; } int InOrderTree(BiTree T) { if(T) { InOrderTree(T->lchild); printf("%c",T->data); InOrderTree(T->rchild); } return 1; } int LaOrderTree(BiTree T) { if(T) { LaOrderTree(T->lchild); LaOrderTree(T->rchild); printf("%c",T->data); } return 1; } void main() { BiTree T; printf("Input the data\n"); CreateTree(&T); printf("Preorder travelsal:\n"); PreOrderTree(T); printf("\n"); printf("Inorder travelsal:\n"); InOrderTree(T); printf("\n"); printf("Postorder travelsal\n"); LaOrderTree(T); getch(); }
2007年11月12日 11点11分
1
#include
typedef struct BiTNode { char data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; int CreateTree(BiTree *T) { char ch; scanf("%c",&ch); if(ch=='#') *T=NULL; else{ if(!(*T=(BiTree)malloc(sizeof(BiTNode)))) return 0; (*T)->data=ch; CreateTree(&((*T)->lchild)); CreateTree(&((*T)->rchild)); } return 1; } int PreOrderTree(BiTree T) { if(T) { printf("%c",T->data); PreOrderTree(T->lchild); PreOrderTree(T->rchild); } return 1; } int InOrderTree(BiTree T) { if(T) { InOrderTree(T->lchild); printf("%c",T->data); InOrderTree(T->rchild); } return 1; } int LaOrderTree(BiTree T) { if(T) { LaOrderTree(T->lchild); LaOrderTree(T->rchild); printf("%c",T->data); } return 1; } void main() { BiTree T; printf("Input the data\n"); CreateTree(&T); printf("Preorder travelsal:\n"); PreOrderTree(T); printf("\n"); printf("Inorder travelsal:\n"); InOrderTree(T); printf("\n"); printf("Postorder travelsal\n"); LaOrderTree(T); getch(); }