AS2 0中实现数据结构哈希表 电脑资料.docxVIP

AS2 0中实现数据结构哈希表 电脑资料.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

----

AS20中实现数据结构哈希表电脑资料

数据|数据结构

因此我们需要哈希表这样的可以提供快速的插入和删除,查找操作的数据结构,不管哈希表中有多少数据,插入和删除操作只需要接近常量的时间:即O(1)的时间级。

既然这么好那末我们的AS可以实现吗?固然可以!AS开展到AS2.0,已经成为在语法上更接近于Java+Pascal的面向对象的语言.如今,伴有着Flash8的发行,使得这种脚本语言添加了运行速度更加快捷,后台技术连接的更加方便等优点.因此我们彻底可以用AS来实现一些常用数据结构。

首先我们先要实现有序链表,顾名思义,链表就是一种像链一样的数据结构,类似数组,但是不同的是链表每一个节点普通都至少包括一个数据项和一个指向下个节点的指针,而且有序链表的数据是按顺序罗列的。

建议大家把类都放到包里,这样便于以后查找和使用,这里我把这些类放在名为util的包里面.

有序链表的实现:

链表结点类:

classutil.Link

{

publicvariData;//dataitem(key)

publicvardData;

publicvarnext:util.Link;//nextlinkinlist//--------------------------------------------------------

publicfunctionLink(id,dd)//constructor

{

iData=id;//(’next’isautomatically

dData=dd;

}//settonull)//--------------------------------------------------------

----

publicfunctiondisplayLink():Void//displayourself{

trace({+iData+,+dData+});

}

}//endclassLink

importutil.Link;//注意要导入我们前边的Link类!classutil.SortedList

{

privatevarfirst:Link;//reftofirstlistitem//--------------------------------------------------------

----

publicfunctionSortedList()//constructor

{first=null;}//--------------------------------------------------------

----

publicfunctioninsert(theLink:Link):Void//insertlink,inorder

{

varkey=theLink.iData;

varprevious:Link=null;//startatfirst

varcurrent:Link=first;

//untilendoflist,

while(current!=nullkeycurrent.iData)

{//orcurrentkey,

previous=current;

current=current.next;//gotonextitem

}

if(previous==null)//ifbeginningoflist,

first=theLink;//first--newlink

else//notatbeginning,

previous.next=theLink;//prev--newlink

theLink.next=current;//newlink--current

}//endinsert()

publicfunctiondeleteD(key):Void//deletelink

{//(assumesnon-emptylist)

varprevious:Link=null;//startatfirst

varcurrent:Link=first;

//un

文档评论(0)

jiaming618 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档