//добавить элемент в конец public void AddLast(IListItem item) { var tempItem = new ListItem(item.Value, last); if (first == null) { first = tempItem; } if (last == null) { last = tempItem; } else { last.SetNext(tempItem); last = tempItem; } }
//добавить элемент в начало public void AddFirst(IListItem item) { var tempItem = new ListItem(item.Value, null, first); if (last == null) { last = tempItem; } if (first == null) { first = tempItem; } else { first.SetPrev(tempItem); first = tempItem; } }
public void Reverse() { var start = first; last = first; while (start != null) { var temp = (IUpgradedListItem)start.Next(); start.SetNext(start.Prev()); start.SetPrev(temp); if (start.Prev() == null) { this.first = start; } start = (IUpgradedListItem)start.Prev(); } }
//очистить список public void Clear() { first = null; last = null; }