二叉树吗?非常简单有前、中、后三种典型遍历。
type
PTreeData = ^TTreeData;
TTreeData = record
Data:Integer;
Left, Right:PTreeData;
end;
//中序
procedure WalkTree(Tree:PTreeData);
begin
if (Tree <> nil) then
begin
WalkTree(Tree.Left);
WriteLn(Tree.Data);
WalkTree(Tree.Right);
end;
end;
type
PTreeData = ^TTreeData;
TTreeData = record
Data:Integer;
Left, Right:PTreeData;
end;
//中序
procedure WalkTree(Tree:PTreeData);
begin
if (Tree <> nil) then
begin
WalkTree(Tree.Left);
WriteLn(Tree.Data);
WalkTree(Tree.Right);
end;
end;
解决方案 »
- 组成超级计算机
- 请教在MS_SQL数据库中查询一个数据表的句子怎么写啊?
- 在delphi里调用储存过程出错,出错信息是储存过程里的参数没有赋值,高手知道的指点一下,谢谢了~
- 100分跪求:为什么,我在win2003下1024X768分辨率下编的程序,拿到98下面就显示不正常?
- Delphi8中关于编写ASP.NET连接数据库程序的问题
- 增加中文预览窗口后出现的问题
- 请教有关文件列表的问题
- 怎么让一Form上创建的PageControl中的几个TabSheet都响应...
- 求Delphi4补丁,急!
- 请各位帮我把这几个Delphi代码改成C++Builder代码
- 如何让显示Hint(当光标放置一个控件不动就会显示它的提示) 很简单的问题,高手请进.
- 88分抢答!如何将DBGRID的内容按报表的格式打印出来,且能保存成EXCELL文件?
var
i: Integer;
begin
if Node = nil then Exit;
for i := 0 to Node.Count - 1 do
begin
// Do your things with the Node
WalkTree(Node.Item[i]);
end;
end;
如:
<root>
<row>
<name>
<fistname>jack</fistname>
<lastname>sd </lastname>
</name>
<telephone>123445</telephone>
<address>
<state>new</state>
<xian>sdfs</xian>
</address>
</row>
<row>
<name>
<fistname>jack</fistname>
<lastname>sd </lastname>
</name>
<telephone>123445</telephone>
<address>
<state>new</state>
<xian>sdfs</xian>
</address>
</row>
<row>
<name>
<fistname>jack</fistname>
<lastname>sd </lastname>
</name>
<telephone>123445</telephone>
<address>
<state>new</state>
<xian>sdfs</xian>
</address>
</row>
</root>
我想以row为行,将这个XML文件解析放到一个二维数组当中,应当怎么做?说明:XML文件row中的内容可能有变化,但每个row中格式都一样,我想做个通用的将XML文档
转换为二维数组,怎么做!help,一定给分