Method查找我要删除的下一个节点的上一个节点。然后我尝试将前一个节点与我想要删除的节点的下一个节点连接起来,但是我得到的结果是一个只包含第一个元素的链表,而其他节点则被删除。
public void DeleteNode(Studentas stud )
{
for (Mazgas d = head; d != null; d = d.Next)
{
if ( d.Next == null)
{
break;
}
else if (d.Next.Duom.Name == stud.Name)
{
Mazgas v = d;
v.Next = d.Next.Next;
d.Next = null;
break;
}
}
}
答案 0 :(得分:0)
没有编译它但应该工作:
public void DeleteNode(Studentas stud )
{
for (Mazgas d = head; d != null; d = d.Next)
{
if ( d.Next == null)
{
break;
}
else if (d.Next.Duom.Name == stud.Name)
{
d.Next = d.Next.Next;
break;
}
}
}
答案 1 :(得分:0)
澄清:您希望根据该对象的属性删除链接列表中的对象。三个案例:
如果您通过头部访问链接列表,则删除头部将删除整个列表。在这种情况下,你应该让头部的继任者成为新的头脑。