您的位置:首页 > 其它

二叉树的中序遍历(树)

2016-04-08 21:45 246 查看
Description给你一棵二叉树Input输入第一行为该树中结点的个数n,第二行到第n+1行分别为这n个结点的值(也代表序号),左子树和右子树,Output输出二叉树的中序遍历Sample Input
5

1 2 3

2 4 5

3 0 0

4 0 0

5 0 0
Sample Output
4

2

5

1

3



解题思路:先读入数据,放入二维数组,然后循环,如果它不是根结点就开始递归,输出,再递归。



程序:

var

a:array[1..100,1..2] of longint;

x,i,y,z,n:longint;


function check(x:longint):boolean;

var

i:longint;

begin

for i:=1 to n do

if (a[i,1]=x) or (a[i,2]=x) then exit(false);

exit(true);

end;


procedure print(x:longint);

begin

if x=0 then exit;

print(a[x,1]);

writeln(x);

print(a[x,2]);

end;


begin

readln(n);

for i:=1 to n do

begin

readln(x,y,z);

a[x,1]:=y;

a[x,2]:=z;

end;

for i:=1 to n do

if check(i) then begin print(i); exit; end;

end.
版权属于: Chris原文地址: http://blog.sina.com.cn/s/blog_83ac6af80102v0pa.html转载时必须以链接形式注明原始出处及本声明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: