Example #1
0
        /// <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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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;
            }
        }
Example #5
0
 public SingleLinkedNode(T Value, SingleLinkedNode <T> Next)
 {
     this._value = Value;
     this._next  = Next;
 }