|
发表于 2008-9-26 08:37:00
|
显示全部楼层
我写了一个关于二叉树的,希望大家指教
#include <iostream.h>
#include <stdio.h>
struct node
{
char val;
int l;
int r;
};
node * Nodes ;
void RLR(int i)
{
if (i == -1)
{
return;
}
printf("%c",Nodes.val);
RLR(Nodes.l-1);
RLR(Nodes.r-1);
}
void LRR(int i)
{
if (i == -1)
{
return;
}
LRR(Nodes.l - 1);
printf("%c",Nodes.val);
LRR(Nodes.r - 1);
}
void LRRoot(int i)
{
if (i == -1)
{
return;
}
LRRoot(Nodes.l - 1);
LRRoot(Nodes.r - 1);
printf("%c",Nodes.val);
}
int main()
{
int n;
cin >> n;
int j = n;
while(n--)
{
int m;
cin >> m;
Nodes = new node[m];//动态分配数组
for(int i = 0;i < m;i++)
{
cin >> Nodes.val;
cin>> Nodes.l;
cin>> Nodes.r;
}
printf("Case%d:\n",j - n);
RLR(0);
printf("\n");
LRR(0);
printf("\n");
LRRoot(0);
printf("\n");
delete[] Nodes;
}
return 0;
} |
|