返回信息流编程太烂,大牛们是否能帮助写写这个程序啊。谢谢啦。
Description
给定一棵有n个结点的二叉树,结点的编号为0~n-1。请你编写程序输出二叉树的前序遍历序列。
Input
输入的第一行是一个正整数t(1 < t < 20),表示有t组测试用例。
对于每组测试用例,第一行是一个整数n(0 < n < 20),表示二叉树结点个数。第二行是一个数r(0≤r≤n-1),二叉树根结点的编号。
后面有n-1行,表示二叉树n-1条边的信息。每行三个数a,b,c,三个数间由空格隔开,其中0≤a,b≤n-1且a≠b, c为0或1。a表示边的起点,b表示边的终点。如果c为0,表示b是a的左儿子;如果c为1,表示b是a的右儿子。
Output
对于每组测试用例输出一行,即:该二叉树的前序遍历序列,两个节点编号之间留一个空格。
Sample Input
2
3
2
2 0 0
2 1 1
7
0
0 1 0
0 2 1
1 3 0
1 4 1
2 5 0
2 6 1
Sample Output
2 0 1
0 1 3 4 2 5 6
这是一条镜像帖。来源:北邮人论坛 / cpp / #37153同步于 2010/3/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
跪求解答。
Rainrfly
2010/3/28镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
【 在 Rainrfly 的大作中提到: 】
: 编程太烂,大牛们是否能帮助写写这个程序啊。谢谢啦。
: Description
: 给定一棵有n个结点的二叉树,结点的编号为0~n-1。请你编写程序输出二叉树的前序遍历序列。
: ...................
其实你google一下马上就有了。。。。
const MAX_NODE_NUM = 20;
Struct BiNode
{
int data;
BiNode *lchild=NULL,*rchild=NULL;
};
BiNode *root;
BiNode BiTree[MAX_NODE_NUM];
int smpNum,total,a,b,c;
cin >> smpNum;
for(int i =0; i< smpNum){
int total;
cin>>total;
cin >> a >> b >>c;
if(c == 0)
{
}
else if(c == 1)
{
}
}
PreOrder(BiNode *root)
{
if(root == NULL)
return;
else
{
cout << root->data << " ";
PreOrder(root->lchild);
PreOrder(root->rchild);
}
}
【 在 a206206 (每天都被人超级鄙视的寂寞帝和悲剧帝) 的大作中提到: 】
: 标 题: Re: 跪求解答。
: 发信站: 北邮人论坛 (Sun Mar 28 13:06:16 2010), 站内
:
: 我想可以弄个结构数组,里面放两个指针,读入每行三个数据的时候就将父节点指针赋值。从根节点开始用递归,每次将指针内容传入,直到遇到指针为空,递归终止
: --
: 黑暗凝集灵魂,堕落方能自由
: 我是ljgljg1984师兄的个人助理,师兄的粉丝由我管理,哈哈
:
:
: ※ 来源:·北邮人论坛 http://forum.byr.edu.cn·[FROM: 118.229.130.*]
如果 链式存储 应该可以不用 结构数组 吧
【 在 a206206 (每天都被人超级鄙视的寂寞帝和悲剧帝) 的大作中提到: 】
: 我想可以弄个结构数组,里面放两个指针,读入每行三个数据的时候就将父节点指针赋值。从根节点开始用递归,每次将指针内容传入,直到遇到指针为空,递归终止
【 在 Thinker 的大作中提到: 】
: 如果 链式存储 应该可以不用 结构数组 吧
指针里存的是int。。。,动态分配也可以,但是比较占空间,数据太多的话就容易出错