- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AS3与数据结构.pdf
AS3
AS3
AASS33与数据结构
时至今日国内外都还没有一本专讲AS3与数据结构的书,对于我这种非科班毕业的社会闲杂
人等来说,入门数据结构太难了,我参考了各方代码,经过一段时间的恶补,整理了一下目
前Flash开发中有可能遇得到的数据结构。完整代码在文章结尾有下载,如有错漏请直接指
出谢谢。
数组
Array类应该是Flash里最常用的数据结构了。比其他语言的数组高级和灵活许多,随意
装入任何数据类型,不用固定长度。
访问速度快,从后方添加(push)和删除(pop)快,但从中间或开头删除会很慢。
从100万长度的数组开头删除500个元素在我的机器上差不多要1秒钟。
var arr:Array = []
for(var i:uint= 0 ;i1000000;i++)arr[i]=i ;
var startT:Number = getTimer()
var num:uint = 500
while(num0)
{
arr.splice(0,1)
num--
}
trace(time:,getTimer() - startT)
但如果数组没有顺序的话,快速删除法1000个在我机器上才需要1毫秒。
var arr:Array = []
for(var i:uint= 0 ;i1000000;i++)arr[i]=i ;
var startT:Number = getTimer()
var num:uint = 1000
while(num0)
{
arr[0] =arr[arr.length-1]
arr.length -=1
num--
}
trace(getTimer() - startT)
Vector:Vector是Array的升级版。如果想追求效率,恰巧数组中的元素类型是固定的,
或者长度是固定的,就可以将Array换成Vector类提升效率。
堆栈
堆栈是先进后出的结构,像子弹梭子一样,由于数组的push()pop()非常快,所以数组
本身就是最好的堆栈。
队列
队列是先进先出,数组也可以做队列,但是从数组前端删除数据比较慢,下边10万条数
据我的机器运行差不多需要2秒。
var startT:Number = getTimer()
var queue:Array = []
for(var i:int = 0 ; i100000 ;i++)
{
queue.push(i);
}
for(var i:int = 0 ; i100000 ;i++)
{
queue.shift()
}
trace(getTimer() - startT)
我 参 考 /article/as3 target=_blankas3ds 改 写 了 个 链 表
(DLinkedList) ,实现了数组一样的 push()pop()shift() unshift() 四个方法。用这
个链表只需要改一行代码,同样操作在我的机器上只要100多毫秒。
为 什 么 不 直 接 用 as3ds ? 我 个 人 觉 得 /article/as3
target=_blankas3ds基本上是直接照搬c++的数据结构,问题就是太重量级了。实现各种
接口太正规化,很多结构基本用不到,有些实现又过于复杂,有些我又看不懂。
我下边的那些数据结构,基本上针对Flasher使用,算是轻量级的实现,入门容易点,
如果你是传统开发人员转型,应该用/article/as3target=_blankas3ds是不
错的选择。
另 外 , 我 的 版 本 很 多 方 法 都 是 直 接 抄 自 /article/as3
target=_blankas3ds,有些方法却改成比较容易理解的方式,也许效率不及
/article/as3 target=_blankas3ds,提供的方法也少很多,仅供学习参考,
下边不再注明了
var startT:Number = getTimer()
var queue:DLinkedList = new DLinkedList()
您可能关注的文档
- ArchSummit北京-航空电商大规模实时日志分析-李锋.pdf
- ArcView在中学地理教学中的运用.pdf
- ARCVIEW在流域水文计算中的应用.pdf
- ARC_MET8000便携式直读光谱仪使用中影响因素分析及处理.pdf
- Arc_Met930光谱元素分析仪性能评估.pdf
- Arduino 人体运动传感器.pdf
- ARD外汇资质及监管_-_新西兰第一大商品交易机构.pdf
- AREVA 真空灭弧室与真空断路器技术.pdf
- ARIMA模型在中国商品零售价格预测分析中的运用.pdf
- ARIMA模型在我国能源消费预测中的应用.pdf
- 区委书记、市国资委党委领导班子2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面检查材料【两篇文】.docx
- 局党组书记、市国资委党委领导班子2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面个人检查材料2篇文.docx
- 市交通运输局局长2025年专题生活会对照“四个带头”含落实意识形态工作责任制方面个人对照检查发言提纲与检察院领导班子“四个带头”检查材料【2篇文】.docx
- 市投资促进局党支部书记2025年组织生活会对照“四个带头”个人对照检查发言材料与党组书记“四个带头”个人对照检查材料(内蒙古地区四个对照,反面典型案例检视剖析)【2篇文】.docx
- 市教育局党委副书记、市国资委党委领导班子2025年“四个带头”个人对照检查发言材料(上年度整改+个人事项+典型事例剖析)2篇文.docx
- 2025年专题生活会“四个带头”方面对照检视材料(问题+原因+措施+意识形态)与纪检委员专题生活会“四个带头”方面个人对照检查材料【2篇文】.docx
- 检察院领导班子2025年专题生活会对照“四个带头”检查材料与县司法局专题生活会党组书记个人对照“四个带头”对照检查材料(含反面典型案例全面剖析)2篇文.docx
- 市机关事务局党支部书记、局党组书记2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面个人发言材料、检查材料【2篇文】.docx
- 2025年领导干部专题生活会“四个带头”对照检查材料与市审计局领导班子专题生活会“四个带头”含反面典型案例剖析对照检查材料2篇文.docx
- 2025年县司法局专题民主生活会班子围绕“4个带头”对照检查材料与反面典型案例回顾与剖析对照检查发言材料2篇文.docx
文档评论(0)