插入&删除单个链接列表中的特定位置

时间:2012-12-03 15:51:16

标签: c# linked-list

任何人都可以告诉我如何从特定位置插入或删除节点。 请用示例代码解释它,以便我能够理解它。 感谢

1 个答案:

答案 0 :(得分:2)

这个想法是:

1°/找到要插入或删除的位置。

2°/保存下一个节点以将其链接到新节点(插入)或上一个节点(删除)

插入应该如下所示:

public class Node
{
    public string Name { get; set; }
    public Node Next { get; set; }

    public void InsertAt(string name, int index, Node start)
    {
        Node current = start;
        // Skip nodes until you reach the position
        for (int i = 0; i < index; i++)
        {
            current = current.Next;
        }
        // Save next node
        Node next = current.Next;
        // Link a new Node which next Node is the one you just saved
        current.Next = new Node () { Name = name, Next = next };
    }
}

现在尝试自己删除:)。