关于二叉树,有问题。。。
#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;
}
}
在运行过程中老是会出现关闭窗口的提示,程序不够完善、、、
...全文
相关推荐
二叉树遍历问题二叉树遍历问题
二叉树遍历在实际编程中有着广泛的应用,例如在编译器中解析语法树、构建搜索算法以及数据压缩等领域。熟练掌握这四种遍历方法有助于理解和解决涉及树结构的问题。
二叉树的各种实现数据结构 二叉树 二叉树的各种函数实现 界面好看。。。
通过实际编程练习,如"实验4-二叉树",可以增强对二叉树的理解,提高问题解决能力。
线索二叉树 算法 建立 输出等。。。
类型:线索二叉树分为两种类型:前序线索二叉树、中序线索二叉树和后序线索二叉树,分别对应不同顺序的遍历。构建线索二叉树:1.
二叉树遍历问题 关于二叉树遍历问题的一些总结
递归的本质是将大问题分解为小问题来解决,对于二叉树遍历,我们总是先处理子问题(子树),最后处理当前节点。
二叉树遍历问题-二叉树遍历问题
这些遍历方法为处理复杂的数据结构和问题提供了基础,例如在编译器中解析语法树、构建搜索引擎索引、解决游戏中的路径寻找问题等。


