Ist dies der richtige Weg zum Löschen des Schwanzes aus der verknüpften Liste in c# durch einfaches Setzen des Zeigers auf null, wie ich tatsächlich den Knoten freigeben. Brauche ich Idispose zu implementieren
public void DeleteTail()
{
if (head == null)
{
throw new InvalidOperationException("you cannot delete from an empty list.");
}
SingleLinkedListNode<T> current = head;
while (current.Next.Next != null)
{
current = current.Next;
}
//delete the node
current.Next = null;
}
//Appends a node to the linked list
public SingleLinkedListNode<T> AppendNode(T value)
{
SingleLinkedListNode<T> newNode = new SingleLinkedListNode<T>(value, null);
if (head == null)
{
head = newNode;
}
else
{
SingleLinkedListNode<T> current = head;
while (current.Next != null)
{
current = current.Next;
}
current.Next = newNode;
}
return newNode;
}