Beispiel #1
0
        public void deleteNode(int data)
        {
            Node current  = head;
            Node previous = head;

            //if the first node is
            if (current.getData() == data)
            {
                head = current.getNext();
            }
            else
            {
                //At end if the current data is the data we are looking for
                while (current.getData() != data)
                {
                    previous = current;
                    current  = current.getNext();
                    if (current == null)
                    {
                        break;
                    }
                    else if (current.getData() == data)
                    {
                        previous.setNext(current.getNext());
                        break;
                    }
                }
            }
        }
Beispiel #2
0
        public int next()
        {
            int data = currentNode.getData();

            currentNode = currentNode.getPrevious();

            return(data);
        }
 public T this[int index]
 {
     get
     {
         Node _indexNode = _tail;
         for (int i = 0; i < index; i++)
         {
             Node.NextNode(ref _indexNode);
         }
         return(_indexNode.getData());
     }
 }
Beispiel #4
0
        public void printData()
        {
            int  i       = 1;
            Node current = head;

            while (current != null)
            {
                System.Console.WriteLine("Node" + i + ":" + current.getData());
                current = current.getNext();
                i++;
            }
        }
        /**
         *
         * @param index 0-index
         * @return data in index
         */
        public int get(int index)
        {
            Node currentNode  = head;
            int  currentIndex = 0;

            while (currentNode != null && currentIndex < index)
            {
                currentNode = currentNode.getNext();
                currentIndex++;
            }

            return(currentNode.getData());
        }
        public T[] ToArray()
        {
            T[]      tArray  = new T[Count];
            Node <T> current = Head;

            for (int i = 0; i < Count; i++)
            {
                tArray[i] = current.getData();
                current   = current.getChild();
            }

            return(tArray);
        }
        public bool Contains(T data)
        {
            Node <T> current = Head;

            while (current != null)
            {
                if (!current.getData().Equals(data))
                {
                    current = current.getChild();
                }
                else
                {
                    return(true);
                }
            }

            return(false);
        }
 public T GetFirst()
 {
     return(Head.getData());
 }