我从事AS3项目已经有一段时间了,但我认为我已经碰壁了。我的项目需要将一系列元素排列在一个Circular List中,所以我将自己复制到Circular List
我之前在 C# 中完成的一个中。
问题是,这严重依赖于Generics的使用。现在我没有这些。
这是代码。T
变量类型代表我希望存在的泛型。
节点.as:
包裹 { 公共类节点 { 变量节点内容:T; 变量下一个节点:节点; 功能节点(节点元素:T) { this.nodeContent = nodeElement; } } }
循环列表.as:
package
{
public class CircularList
{
var head:Node;
var tail:Node;
var listLength:int;
function CircularList()
{
this.head = null;
this.tail = null;
this.listLength = 0;
}
function Add(addition:T)
{
adding:Node = new Node(addition);
if(this.head == null)
{
this.head = adding;
this.tail = adding;
head.nextNode = tail;
tail.nextNode = head;
}
else
{
tail.nextNode = adding;
tail = adding;
tail.nextNode = head;
}
listLength++;
}
function Find(requested:T):Node
{
var finder:Node = null;
var searching = head;
var i:int;
while(i <= listLength)
{
if(searching.nodeContent == requested)
{
finder = searching;
}
searching = searchig.nextNode;
i++;
}
return finder;
}
}
}
有没有办法让这个东西在没有泛型的情况下工作?
编辑:真正的问题是我希望 Node 类中的NodeContent是一个对象。基本上,我想列出坐在圆桌上的人,但我想要一个我可以重用的代码,而不是专门为这个问题制作的代码