关于二叉树,有问题。。。

liangkaiyu liangkaiyu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include "stdio.h"
#include "stdlib.h"

typedef struct bit{
int data;
struct bit *lch,*rch;
}bittree,*l;

void creat (l p)
{
int ch;
printf("Input data:\n");
scanf("%d",&ch);
if (ch == 0)
p = NULL;
else
{
p = (l)malloc(sizeof(bittree));
p->data = ch;
creat(p->lch);
creat(p->rch);
}
}

void exchange (l p)
{
l q;
q = p->lch;
p->lch = p->rch;
p->rch = q;
if(p->lch) exchange(p->lch);
if(p->rch) exchange(p->rch);
}

void print(l p)
{
if(p != NULL)
printf("%d",p->data);
if(p->lch) print(p->lch);
if(p->rch) print(p->rch);
}

void menu()
{
printf("1:creat \n");
printf("2:exchange\n");
printf("3:output \n");
printf("0:exit\n");
}

void main()
{
int i;
l p;
menu();
printf("what do you wanna to do?\n");
scanf("%d",&i);
while(i)
switch(i)
{
case 1:creat(p);break;
case 2:exchange(p);break;
case 3:print(p);break;
default:break;
}
}

在运行过程中老是会出现关闭窗口的提示,程序不够完善、、、
...全文
评论 5
收藏 已收藏
分享
返回顶部
liangkaiyu
C语言 70,039 成员 243,237 内容