我偶然发现了这个页面:Create Linked List in AS3
由于AS3.0是一种脚本语言。我想知道如何在AS3.0中实现链表?用于创建链接列表的Isn指针(访问内存位置的方式)是必需的。这最终会使数据阵列的性能更快?
答案 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;
}