public void Reverse() { var last = Last; for (var node = First; node != null; node = node.Prev) { var temp = node.Next; node.Next = node.Prev; node.Prev = temp; } Last = First; First = last; }
public void AddLast(T value) { var node = new DoubleLinkedNode <T> { Value = value, Prev = Last }; if (First == null) { First = node; } else { Last.Next = node; } Last = node; }
public void AddFirst(T value) { var node = new DoubleLinkedNode <T> { Value = value, Next = First }; if (First == null) { Last = node; } else { First.Prev = node; } First = node; }