我上软件课程设计,要一个二叉树的设计流程图和源程序,求各路高手帮帮忙啊,我只有100分了,全给你们了, 100
设计目的利用C语言链表结构建立二叉树,将所输入的数据存储在二叉树里,创建二叉树。对该二叉树进行元素查找,模拟输出,先序、中序、后序遍历等操作。...
设计目的
利用C语言链表结构建立二叉树,将所输入的数据存储在二叉树里,创建二叉树。对该二叉树进行元素查找,模拟输出,先序、中序、后序遍历等操作。 展开
利用C语言链表结构建立二叉树,将所输入的数据存储在二叉树里,创建二叉树。对该二叉树进行元素查找,模拟输出,先序、中序、后序遍历等操作。 展开
1个回答
展开全部
#include "stdio.h"
#include "string.h"
#include "malloc.h"
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
BiTree Create(BiTree T){
char ch;
ch=getchar();
if(ch=='#')
T=NULL;
else{
if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))
printf("Error!");
T->data=ch;
T->lchild=Create(T->lchild);
T->rchild=Create(T->rchild);
}
return T;
}
void Preorder(BiTree T){
if(T){
printf("%c",T->data);
Preorder(T->lchild);
Preorder(T->rchild);
}
}
void zhongxu(BiTree T){
if(T){
zhongxu(T->lchild);
printf("%c",T->data);
zhongxu(T->rchild);
}
}
void houxu(BiTree T){
if(T){
houxu(T->lchild);
houxu(T->rchild);
printf("%c",T->data);
}
}
main(){
BiTree T;
printf("建立树: ");
T=Create(T);
printf("\n先序遍历: ");
Preorder(T);
printf("\n中序遍历: ");
zhongxu(T);
printf("\n后序遍历: ");
houxu(T);
getchar();
}
#include "string.h"
#include "malloc.h"
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
BiTree Create(BiTree T){
char ch;
ch=getchar();
if(ch=='#')
T=NULL;
else{
if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))
printf("Error!");
T->data=ch;
T->lchild=Create(T->lchild);
T->rchild=Create(T->rchild);
}
return T;
}
void Preorder(BiTree T){
if(T){
printf("%c",T->data);
Preorder(T->lchild);
Preorder(T->rchild);
}
}
void zhongxu(BiTree T){
if(T){
zhongxu(T->lchild);
printf("%c",T->data);
zhongxu(T->rchild);
}
}
void houxu(BiTree T){
if(T){
houxu(T->lchild);
houxu(T->rchild);
printf("%c",T->data);
}
}
main(){
BiTree T;
printf("建立树: ");
T=Create(T);
printf("\n先序遍历: ");
Preorder(T);
printf("\n中序遍历: ");
zhongxu(T);
printf("\n后序遍历: ");
houxu(T);
getchar();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询