// insert a node at beginning public void Insert(T data) { DoubleLinkedListNode <T> newLink = new DoubleLinkedListNode <T>(data); if (head != null) { head.Prev = newLink; newLink.Next = head; head = newLink; } else { head = newLink; tail = newLink; } }
// insert after between two linknode public void Insertafter(DoubleLinkedListNode <T> _link, T _data) { if (_link == null) { return; } DoubleLinkedListNode <T> newLink = new DoubleLinkedListNode <T>(_data); newLink.Prev = _link; if (_link.Next != null) { _link.Next.Prev = newLink; } newLink.Next = _link.Next; _link.Next = newLink; }
public DoubleLinkedListNode() { data = default(T); nextLink = null; }
//public DoubleLinkedListNode(T val, DoubleLinkedListNode<T> p) //{ // data = val; // nextLink = p; //} //public DoubleLinkedListNode(DoubleLinkedListNode<T> p) //{ // nextLink = p; //} public DoubleLinkedListNode(T val) { data = val; prevLink = null; nextLink = null; }
public DoubleLinkedList() { head = null; tail = null; }