public IEnumerator <T> GetEnumerator() { DanikListItem current = _first; while (current != null) { yield return(current.Current); current = current.Next; } }
public void Add(T item) { if (_first == null) { _first = new DanikListItem() { Current = item }; _last = _first; Count++; return; } DanikListItem carry = _first; DanikListItem previouscarry = _first; if (item.CompareTo(_first.Current) <= 0) { _first = new DanikListItem() { Current = item, Next = carry }; Count++; return; } while (carry != null && item.CompareTo(carry.Current) >= 0) { previouscarry = carry; carry = carry.Next; } previouscarry.Next = new DanikListItem() { Current = item, Previous = previouscarry, Next = carry }; Count++; }