public void CopyTo(T[] arr, int index) { MyLinkedlistNode <T> current = _head; while (current != null) { arr[index++] = current.Data; current = current.Next; } }
public IEnumerator GetEnumerator() { MyLinkedlistNode <T> current = _head; while (current != null) { yield return(current.Data); current = current.Next; } }
public void Add(T value) { MyLinkedlistNode <T> node = new MyLinkedlistNode <T>(value); if (_head == null) { _head = node; _last = node; } else { _last.Next = node; _last = node; } Count++; // Console.WriteLine(value + " is added"); }
public bool Remove(T item) { MyLinkedlistNode <T> previous = null; MyLinkedlistNode <T> current = _head; while (current != null) { if (current.Data.Equals(item)) { if (previous != null) { previous.Next = current.Next; if (current.Next == null) { _last = previous; } } else { _head = _head.Next; if (_head == null) { _last = null; } } Count--; // Console.WriteLine(item + " is Removed"); return(true); } previous = current; current = current.Next; } return(false); }