问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

跪求《二叉树的建立的与遍历》的运行程序

发布网友 发布时间:2022-05-12 05:24

我来回答

3个回答

热心网友 时间:2023-11-20 09:32

#include "stdio.h"
#include "stdlib.h"
#define maxisize 100
typedef int datatype;
typedef struct node
{
datatype data;
struct node *lchild,*rchild;
}bitree;
bitree *q[maxisize];
int i=0;
bitree *creatree()
{
char ch;
int front,rear;
bitree *root,*s;
root=NULL;
front=1;
rear=0;
printf("please enter the tree ,and the end of sign is #:\n");
ch=getchar();
while(ch!='#')
{
s=NULL;
if(ch!='@')
{
s=(bitree *)malloc(sizeof(bitree));
s->data=ch;
s->lchild=NULL;
s->rchild=NULL;
}
rear++;
q[rear]=s;
if(rear==1)
root=s;
else
{
if(s&&q[front])
if(rear%2==0)
q[front]->lchild=s;
else
q[front]->rchild=s;
if(rear%2==1)
front++;
}
i++;
ch=getchar();
}
return root;
}void INORDER(bitree *t)
{
if(t)
{
INORDER(t->lchild);
printf("%c ",t->data);
INORDER(t->rchild);
}
}
void PREORDER(bitree *t)
{
if(t)
{
printf("%c ",t->data);
PREORDER(t->lchild);
PREORDER(t->rchild);
}

}
void POSTORDER(bitree *t)
{
if(t)
{
POSTORDER(t->lchild);
POSTORDER(t->rchild);
printf("%c ",t->data);
}}
void main()
{
bitree *root;
root=creatree();
printf("前序遍历二叉树:");
PREORDER(root);
printf("\n");
printf("中序遍历二叉树:");
INORDER(root);
printf("\n");
printf("后序遍历二叉树:");
POSTORDER(root);
printf("\n");
}程序的运行结果如下:

热心网友 时间:2023-11-20 09:33

这是我自己写的

#include <stdio.h>
#include <stdlib.h>

typedef struct _btree {
int v;
struct _btree* l;
struct _btree* r;
}**btree, *node;

node Insert(btree r, int v)
{
node t, p, n;
t = (node)malloc(sizeof(struct _btree)) ;
t->v = v;
t->l = t->r = NULL;

p = NULL, n = *r;
while(n) {
p = n;
n = v < n->v ? n->l : n->r;
}
if (p) {
if (v < p->v) {
p->l = t;
} else {
p->r = t;
}
} else {
*r = t;
}
return t;
}

node Create(int* beg, int* end)
{
node root;
root = NULL;
while(beg != end)
Insert(&root, *beg++);
return root;
}

void Prevorder(node root)
{
if(root) {
printf("%d ", root->v);
Prevorder(root->l);
Prevorder(root->r);
}
}

void Inorder(node root)
{
if(root) {
Inorder(root->l);
printf("%d ", root->v);
Inorder(root->r);
}
}

void Postorder(node root)
{
if(root) {
printf("%d ", root->v);
Postorder(root->r);
Postorder(root->l);
}
}

void Destruct(node root)
{
if(root) {
Destruct(root->l);
Destruct(root->r);
free(root);
}
}

int main()
{
int a[] = { 6,1,3,5,4,2 };
node root;
root = Create(a, a + 6);
Prevorder(root); /* 前序 */
putchar('\n');
Inorder(root); /* 中序 */
putchar('\n');
Postorder(root); /* 后序 */
putchar('\n');
Destruct(root);
getchar();
return 0;
}

热心网友 时间:2023-11-20 09:33

# include "stdio.h"
# include "stdlib.h"
# define NULL 0
typedef struct BiNode
{int data;struct BiNode *l_child,*r_child;}BiTree;
int k;BiTree *create(BiTree *pt,int k)
{int ch;BiTree *p1,*p2;
scanf("%d",&ch);
if(ch!=0)
{p2=(BiTree *)malloc(sizeof(BiTree));
p2->l_child=p2->r_child=NULL;
p2->data=ch;
if(k==0) p1=p2;
if(k==1) pt->l_child=p2;
if(k==2) pt->r_child=p2;
printf("%d的左子树为:",ch);
create(p2,1);
printf("%d的右子树为:",ch);
create(p2,2);
}
return(p1);
}void zhongxu (BiTree *H)
{if(H!=NULL)
{zhongxu(H->l_child);
printf("%d",H->data);
zhongxu(H->r_child);
}
}
void main()
{BiTree *root,*p;
printf("输入根结点");
p=create(root,0);
zhongxu(p);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
不想要淘宝原来的帐号,怎么办,可以注销吗~谢谢了,大神帮忙啊 蓝宝石HD6770显卡求鉴定,GPUZ检测数据如下: 健身60公斤,176身高的人,比较瘦,是不是即便经常锻炼,力气也不一定比胳膊... 农村土地什么情况不予发证?如何解决? 共工治水在前还是怒触不周山在前? 共工触山的故事 有什么类似漂流瓶的软件推荐 漂流瓶软件推荐 保险柜密码怎么改 保险柜密码正确但是打不开怎么办 西安水多少钱一顿 西安哪里可以买自来水 怎样更新搜狗输入法的词库 QQ拼音输入法里面的词汇是如何更新的? 一个简单二叉树的建立与遍历问题 我在终端模拟器上输入free显示free:not found怎么回事手机已root 搜狗拼音输入法可以自己更新词库吗? c语言中建了一个二叉树。怎么释放他的空间?? 搜狗输入法 怎么更新词库 为什么删除一棵树要先free左右子树再free根节点?为什么不是直接free根节点? freeme os7.0怎么root phone是自由词根还是粘着词根 有一首歌的歌词是 唱起来跳起来这是什么歌 还是儿童歌曲 有一首歌词是 动起来 跳起来 跳出青春的色彩 来来来 大家一起来 是什么歌 是谁唱的 去书店买书好吗? 歌词有跳起来,跳起来是什么广场舞 周公解梦是真的吗?有没有科学依据? 有一首歌大概歌词是“来来来来来跳跳跳跳跳”这个是谁唱的歌名叫什么? “来来来来跟我一起来,来来来来跟我跳起来”,好像还有一句“打开这扇门”这首歌叫什么名字? 二年级语文人教版第6课一封信近反义词都有哪些 二年级一封信课文中应该怎样安慰露西? 我个人货车挂靠运输公司,另与一家企业签订了货车租赁协议,帮企业运输货物。可以开租赁费*给企业, 搜狗输入法怎么频繁更新词库啊 搜狗输入法怎样升级? 高分求:搜狗输入法更新词库的问题!满意必追加!先出50. HTML5 APP开发与原生态APP比较有什么好处 武汉市事业单位怎么都在裁人 武汉地铁是大型国有独资企业,怎么有人说它是事业单位?国企都是事业单位么? 武汉轮渡是国企还是事业单位 武汉歌舞剧院是属于国企还是事业单位吗 武汉事业单位有哪些 武汉市最好的事业单位 武汉中南电力设计院是事业单位还是国企啊? 武汉事业单位考哪一类好 三类本科环境艺术设计专业毕业想进武汉的国企或者事业单位跟设计院是不是很难?是不是都必须要考研? 自动化专业的研究生在武汉进哪些公司比较好呢?最好是事业单位或国企 家庭财产分割纠纷的诉讼状包括哪些内容 新化水酒怎么做 新化水酒制作方法.新化水酒制作方法怎么做 财产诉讼状怎么写? 父亲生前把房子卖卖过户给儿子后其姐妹想分割房财可以可法院起书吗 酷我音乐上截的歌怎么转到微信上