如何在AS3.0中实现链表

时间:2013-03-02 17:41:01

标签: actionscript-3

我偶然发现了这个页面:Create Linked List in AS3

由于AS3.0是一种脚本语言。我想知道如何在AS3.0中实现链表?用于创建链接列表的Isn指针(访问内存位置的方式)是必需的。这最终会使数据阵列的性能更快?

2 个答案:

答案 0 :(得分:3)

在AS3中你有对象引用,你没有准确的指针,但是你可以用非常类似的方式使用引用来实现一个链表。链接列表(通常)的优点是在列表中插入和删除(您不必像使用数组那样移动所有元素)。您仍然可以使用对象引用获得此优势。

注意:AS3中的对象通过引用传递,基元按值传递。

答案 1 :(得分:2)

有效地,所有脚本语言都可以使用指针。

他们只决定以不同方式调用它们(大多数时候称它们为“引用”)并隐藏管理内存分配和释放的复杂性(甚至可能性)。

说过在ActionScript(或JavaScript)中创建链表的最简单方法是

var node1 = {value: 1};
var node2 = {value: "foo"};
var node3 = {value: "bar"};

//of course this code should be localices within a separate class
//with some nice API
((node1.next = node2).next = node3).next = null;

//and then use like that e.g.
var n = node1;
while (n) {
    trace(n.value);
    n = n.next;
}