Kann mir jemand eine Idee geben, wie ich einen Knoten an einer bestimmten Position einfügen oder löschen kann. Erklären Sie es bitte mit einem Beispielcode, damit ich es gut verstehen kann. Vielen Dank
Antworten:
1 für die Antwort № 1Die Idee ist:
1 ° / Suchen Sie die Position, an der Sie einfügen oder löschen möchten.
2 ° / Speichern Sie den nächsten Knoten, um ihn mit dem neuen Knoten (Einfügen) oder mit dem vorherigen Knoten (Löschen) zu verknüpfen.
Für die Einfügung sollte es so aussehen:
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 };
}
}
Jetzt versuche dich für die Löschung :).