public void InsertAtFront <T>(DoublyLinkedList <T> list, T data) { DoublyNode <T> newNode = new DoublyNode <T>(data); newNode.Next = list.Head; newNode.Previous = null; if (list.Head != null) { list.Head.Previous = newNode; } list.Head = newNode; }
public void InsertAfter <T>(DoublyNode <T> prevNode, T data) { if (prevNode == null) { Console.WriteLine("given previous Data cannot be null"); return; } DoublyNode <T> newNode = new DoublyNode <T>(data); newNode.Next = prevNode.Next; prevNode.Next = newNode; newNode.Previous = prevNode; }
public void ReverseList(DoublyLinkedList <T> list) { var current = list.Head; DoublyNode <T> previousNode = null; DoublyNode <T> nextNode; while (current.Next != null) { nextNode = current.Next; current.Next = previousNode; current.Next.Previous = previousNode = current; current = nextNode; } }