我有这个程序,我的任务是:
- 要创建一个返回列表当前末尾的方法,或者从用于追加的方法中获取列表末尾,请将其交付并
- 在将新元素附加到列表的当前末尾后,设置列表实例末尾的值,然后调用该方法以使用该值附加新的列表项
class Node
{
string info;
Node next;
public void SetInfo(string InfoNew)
{
info = InfoNew;
next = null;
}
public void Add(string InfoNew)
{
if (next == null)
{
next = new Node();
next.SetInfo(InfoNew);
}
else
next.Add(InfoNew);
}
}
class Program
{
static void Main(string[] args)
{
Node listStart = new Node();
listStart.Add("node 1");
for (int node = 2; node < 4; node++)
listStart.Add("node " + node);
}
}
}
这是我的解决方案。它有效。但我不确定这是否正确。
class Node
{
string info;
Node next;
public void SetInfo(string InfoNew)
{
info = InfoNew;
next = null;
}
public Node Add(string InfoNew)
{
if (next == null)
{
next = new Node();
next.SetInfo(InfoNew);
}
else
next.Add(InfoNew);
return next;
}
public void Print()
{
Console.WriteLine(info);
if (next != null)
next.Print();
Console.ReadKey();
}
public Node End()
{
Node ptr = next;
while (ptr.next != null)
ptr = ptr.next;
return ptr;
}
}
class Program
{
static void Main(string[] args)
{
Node listStart = new Node();
Node listEnd = new Node();
listStart.Add("node 1");
for (int node = 2; node < 4; node++)
listEnd = listStart.Add("node " + node);
listStart.Print();
}
}
这可能是正确的方法,不是吗?
class Program
{
static void Main(string[] args)
{
Node listStart = new Node();
Node listEnd = new Node();
listStart.Add("node 1");
listEnd = listStart;
for (int node = 2; node < 4; node++)
listEnd = listEnd.Add("node " + node);
listStart.Print();
}
}