AS ideas

A new idea means a new world.

导航

As3中的队列怎么实现?

Posted on 2009-09-27 10:14  凤城14郞  阅读(724)  评论(0编辑  收藏  举报

队列(Queue)又称先进先出表(First In First Out),即先加入队列
的元素删除时先离开队列,加入元素的一头叫“队头”,删除元素的一
头叫“队尾”。
基于队列的基本特性,在As3中可以用Array类来实现:
加入队列:Array.push(object);
离开队列:Array.shift();
代码:
// 新建队列
var Queue:Array = new Array();
// 加入队列
Queue.push("a1");
Queue.push("a2");
Queue.push("a3");
Queue.push("a4");
Queue.push("a5");
// 打印队列
trace(Queue);        // 打印结果:a1,a2,a3,a4,a5
// 离开队列
Queue.shift();
// 打印队列
trace(Queue);        // 打印结果:a2,a3,a4,a5。先加入的元素”a1“先
离开队列
以上是最简单的队列实现
既然说到了“队列”,就顺便把和队列概念相似的“栈”一起说了吧。
栈(Stack):是一种和队列类似的另外一种特殊的线性表,栈又称为后
进先出表(Last In First Out),即后加入表的元素,先被删除。插入、
删除的一端称为“栈顶”,另外一端称为“栈底”
栈也可以用Array类来实现:
进栈:Array.push(object);
出栈:Array.pop();
复制内容到剪贴板代码:
// 新建栈
var Stack:Array = new Array();
// 入栈
Stack.push("a1");
Stack.push("a2");
Stack.push("a3");
Stack.push("a4");
Stack.push("a5");
// 打印栈
trace(Stack);        // 打印结果:a1,a2,a3,a4,a5
// 出栈
Stack.pop();
// 打印栈
trace(Stack);        // 打印结果:a1,a2,a3,a4。后进栈的元素”a5“先
出栈

 

 

 

http://www.51action.cn/