perl实例分析教程之十四--.doc

perl实例分析教程之十四--.doc

ID:19399453

大小:52.50 KB

页数:3页

时间:2018-09-27

perl实例分析教程之十四--.doc_第1页
perl实例分析教程之十四--.doc_第2页
perl实例分析教程之十四--.doc_第3页
资源描述:

《perl实例分析教程之十四--.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、perl实例分析教程之十四>>十、用关联数组创建数据结构  用关联数组可以模拟在其它高级语言中常见的多种数据结构,本节讲述如何用之实现:链表、结构和树。2、结构许多编程语言可以定义结构(structure),即一组数据的集合。结构中的每个元素有其自己的名字,并通过该名字来访问。Perl不直接提供结构这种数据结构,但可以用关联数组来模拟。例如模拟C语言中如下的结构:struce{intfield1;intfield2;intfield3;}mystructvar;我们要做的是定义一个含有三个元素的关联数组,下标分别为field1、fi

2、eld2、field3,如:%mystructvar=("field1","","field2","","field3","",);像上面C语言的定义一样,这个关联数组%mystrctvar有三个元素,下标分别为field1、field2、field3,各元素初始值均为空串。对各元素的访问和赋值通过指定下标来进行,如:$mystructvar{"field1"}=17;3、树另一个经常使用的数据结构是树。树与链表类似,但每个节点指向的元素多于一个。最简单的树是二叉树,每个节点指向另外两个元素,称为左子节点和右子节点(或称孩子),每个

3、子节点又指向两个孙子节点,依此类推。注:此处所说的树像上述链表一样是单向的,每个节点指向其子节点,但子节点并不指向父节点。树的概念可以如下描述:因为每个子节点均为一个树,所以左/右子节点也称为左/右子树。(有时称左/右分支)第一个节点(不是任何节点的子节点的节点)称为树的根。没有孩子(子节点)的节点称为叶节点。有多种使用关联数组实现树结构的方法,最好的一种应该是:给子节点分别加上left和right以访问之。例如,alphaleft和alpharight指向alpha的左右子节点。下面是用此方法创建二叉树并遍历的例程:1:#!/us

4、r/local/bin/perl2:3:$rootname="parent";4:%tree=("parentleft","child1",5:"parentright","child2",6:"child1left","grandchild1",7:"child1right","grandchild2",8:"child2left","grandchild3",9:"child2right","grandchild4");10:#traversetree,printingitselements11:print_tree($root

5、name);12:13:subprint_tree{14:local($nodename)=_;15:local($leftchildname,$rightchildname);16:17:$leftchildname=$nodename."left";18:$rightchildname=$nodename."right";19:if($tree{$leftchildname}ne""){20:print_tree($tree{$leftchildname});21:}22:print("$nodenamen");23:if($t

6、ree{$rightchildname}ne""){24:print_tree($tree{$rightchildname});25:}26:}结果输出如下:grandchild1child1grandchild2parentgrandchild3child2grandchild4>>>>这篇文章来自..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。