public void PrintElementInReverse_Ex14_2(Action <string> printData) { DoubleFacedNode currentNode = LastNode; while (currentNode != null) { printData(currentNode.Data); currentNode = (DoubleFacedNode)currentNode.PreviousNode; } }
public ListNode Prepend(string data) { var newNode = new DoubleFacedNode(data); // If there are no elements yet in the linked list: if (FirstNode == null) { FirstNode = newNode; } else //If the linked list already has at least one node: { newNode.NextNode = FirstNode; FirstNode = newNode; } return(newNode); }
public void InsertAtEnd(string data) { var newNode = new DoubleFacedNode(data); // If there are no elements yet in the linked list: if (FirstNode == null) { FirstNode = newNode; LastNode = newNode; } else //If the linked list already has at least one node: { newNode.PreviousNode = LastNode; LastNode.NextNode = newNode; LastNode = newNode; } }
public DoublyLinkedList(DoubleFacedNode firstNode = null, DoubleFacedNode lastNode = null) : base(firstNode) { LastNode = lastNode; }