求高手帮忙修改一个C程序,很easy
数据结构吧
全部回复
仅看楼主
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
level 0
getch(); 有什么意思~删了!
2007年11月16日 13点11分 2
level 1
爱死你了,这么好的帖子要顶的
2007年11月17日 13点11分 3
level 1
我今天就弄了这个程序。阿门。。
2007年11月28日 02点11分 4
level 0
你那第一个程序 又有一重指针 又有二重指针BiTree *T 把它改成统一的 BiTree T 在将下面的二重改为一重 我认为这里2重没必要
2007年11月29日 14点11分 6
1