C# 如何获取列表中的最后一个元素(尾部)?
我试图创建单链表,但我不知道我做错了什么 在插入元素5、6、7、2、3、4之后,尾部应该是4,但我得到了3,我不明白为什么 这是我的密码:C# 如何获取列表中的最后一个元素(尾部)?,c#,linked-list,C#,Linked List,我试图创建单链表,但我不知道我做错了什么 在插入元素5、6、7、2、3、4之后,尾部应该是4,但我得到了3,我不明白为什么 这是我的密码: public void Insert(int x) { Node a = new Node(x); if (Head == null) { Head = Tail = a; } else { Tail = Head; while (Tail.Next != nu
public void Insert(int x)
{
Node a = new Node(x);
if (Head == null)
{
Head = Tail = a;
}
else
{
Tail = Head;
while (Tail.Next != null)
{
Tail = Tail.Next;
}
Tail.Next = a;
a = Tail;
}
}
在负数情况下,您没有为
Tail
设置新值:
public void Insert(int x)
{
Node a = new Node(x);
if (Head == null)
{
Head = Tail = a;
}
else
{
Tail.Next = a;
Tail = a;
}
}
另一方面,您不必在否定情况下搜索尾部,因为您已经准备好了
tail
变量。请提供一个而不仅仅是一个片段。(并使代码尽可能可读-将您发布的版本与我编辑它的版本进行比较。我保留了括号位置的使用稍微不一致的地方,但我也尝试编辑它。)为什么要在每个插入上寻找尾部?(1)您已经有了Tail
,因此不必搜索它;(2) 插入值4时,尾部应为3。你遇到的真正问题是什么?@Fildor因为我是哑巴>2票,说你不是;)哦,天哪,我感觉好傻谢谢你的帮助真的appreciated@EndritShabani嘿,你的问题没有被否决。所以它不可能那么愚蠢!我们都知道,有时“见树不见林”。。。