示例#1
0
        /// <summary>
        /// Removes node at index.
        /// </summary>
        /// <param name="index">index</param>
        /// <returns></returns>
        public bool Remove(int index)
        {
            if (index < 1 || index > Size())
            {
                return(false);
            }

            Node current = head;

            if (index == 0)
            {
                current.SetNext(current.GetNext().GetNext());
                listCount--;
                return(true);
            }
            for (int i = 1; i < index; i++)
            {
                if (current.GetNext() == null)
                {
                    return(false);
                }
                current = current.GetNext();
            }
            current.SetNext(current.GetNext().GetNext());
            listCount--;
            return(true);
        }
示例#2
0
        /// <summary>
        /// Adds to the list.
        /// </summary>
        /// <param name="item">Item</param>
        public void Add(Items item)
        {
            Node temp    = new Node(item);
            Node current = head;

            while (current.GetNext() != null)
            {
                current = current.GetNext();
            }
            current.SetNext(temp);
            listCount++;
        }
示例#3
0
        /// <summary>
        /// Adds item to the list by specific index.
        /// </summary>
        /// <param name="item">Item</param>
        /// <param name="index">Index</param>
        public void Add(Items item, int index)
        {
            Node temp    = new Node(item);
            Node current = head;

            for (int i = 1; i < index && current.GetNext() != null; i++)
            {
                current.GetNext();
            }
            temp.SetNext(current.GetNext());
            current.SetNext(temp);
            listCount++;
        }