/// <summary> /// /// </summary> /// <param name="item"></param> /// <returns></returns> public bool Contains(T item) { SingleLinkedNode <T> temp = _startNode; for (int i = 0; i < _size; i++) { if (temp.Value.Equals(item)) { return(true); } temp = temp.Next; } return(false); }
public int IndexOf(T item) { SingleLinkedNode <T> temp = _startNode; for (int i = 0; i < _size; i++) { if (temp.Value.Equals(item)) { return(i); } temp = temp.Next; } return(-1); }
public T this[int index] { get { SingleLinkedNode <T> temp = _startNode; for (int i = 0; i < index; i++) { temp = _startNode.Next; } return(temp.Value); } set { Insert(0, value); } }
public void CopyTo(T[] array, int arrayIndex) { if (arrayIndex < 0) { throw new ArgumentOutOfRangeException(); } if (array.Length - arrayIndex < _size) { throw new ArgumentException("The collection is bigger than the available space in the array"); } SingleLinkedNode <T> temp = _startNode; for (int i = 0; i < _size; i++) { array[i + arrayIndex] = temp.Value; temp = temp.Next; } }
public SingleLinkedNode(T Value, SingleLinkedNode <T> Next) { this._value = Value; this._next = Next; }