public void AddLast(T value) { DoubleLinkedListNode <T> node = new DoubleLinkedListNode <T>(value); if (First == null) { First = node; } else { Last.Next = node; node.Prev = Last; } Last = node; count++; }
public void Reverse() { var buffer = First; First = Last; Last = buffer; DoubleLinkedListNode <T> current; current = First; while (current != null) { current.Next = buffer; current.Next = current.Prev; current.Prev = buffer; current = current.Next; } }
public void AddFirst(T value) { DoubleLinkedListNode <T> node = new DoubleLinkedListNode <T>(value); DoubleLinkedListNode <T> temp = First; node.Next = temp; First = node; if (count == 0) { Last = First; } else { temp.Prev = node; } count++; }