-2

特定の位置からノードを挿入または削除する方法を教えてもらえますか?よく理解できるようにサンプルコードで説明してください。ありがとうございます。

4

1 に答える 1

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 };
    }
}

さあ、削除してみてください:)。

于 2012-12-03T16:16:39.067 に答える