private void SetHeadAndTail(T data) { var item = new ItemNext <T>(data); Head = item; Tail = item; Count = 1; }
public void AppendHead(T data) { var item = new ItemNext <T>(data) { Next = Head }; Head = item; Count++; }
public void Add(T data) { if (Tail != null) { var item = new ItemNext <T>(data); Tail.Next = item; Tail = item; Count++; } else { SetHeadAndTail(data); } }
public void InsertAfter(T target, T data) { if (Head != null) { var current = Head; while (current != null) { if (current.Data.Equals(target)) { var item = new ItemNext <T>(data); item.Next = current.Next; current.Next = item; Count++; return; } else { current = current.Next; } } } }