// Delete the StringNode from the list
        public void DeleteNode(StringNode nodeToDelete)
        {
            //if theres only one pellet
            if (headPointer == tailPointer)
            {
                headPointer = null;
                tailPointer = null;
            }

            //if deleting last node
            else if (nodeToDelete == tailPointer)
            {
                StringNode nodeWalker = headPointer;
                while (nodeWalker.Next != nodeToDelete)
                {
                    nodeWalker = nodeWalker.Next;
                }
                tailPointer = nodeWalker;
            }
            // if deleting frist pellet
            else if (headPointer == nodeToDelete)
            {
                headPointer = nodeToDelete.Next;
            }

            //if deleting pellet in linked list longer than 2
            else {
                StringNode nodeWalker = headPointer;
                while (nodeWalker != nodeToDelete)
                {
                    nodeWalker = nodeWalker.Next;
                }
                nodeWalker = nodeToDelete.Next;
            }
        }
        // Walk the list, counting the number of StringNodes. Return the count.
        public int Count()
        {
            int        nodeCount  = 0;
            StringNode nodeWalker = headPointer;

            while (nodeWalker != null)
            {
                nodeCount++;
                nodeWalker = nodeWalker.Next;
            }
            return(nodeCount);
        }
 // Add node at the start of the list.
 public void AddNode(String newString)
 {
     StringNode newNode = new StringNode(newString);
     if (headPointer != null)
     {
         newNode.Next = headPointer;
         headPointer = newNode;
     }
     else{
         headPointer = newNode;
         tailPointer = newNode;
     }
 }
Exemple #4
0
 // removes first stringnode from stack and returns its string value
 public String Pop()
 {
     if (stack.Count() > 0)
     {
         StringNode firstString = stack.GetFirst();
         stack.RemoveFirst();
         return(firstString.toString());
     }
     else
     {
         throw new System.ArgumentNullException("There are no Strings in the Stack pop.");
     }
 }
        // Add node at the start of the list.
        public void AddNode(String newString)
        {
            StringNode newNode = new StringNode(newString);

            if (headPointer != null)
            {
                newNode.Next = headPointer;
                headPointer  = newNode;
            }
            else
            {
                headPointer = newNode;
                tailPointer = newNode;
            }
        }
        // Delete the StringNode from the list
        public void DeleteNode(StringNode nodeToDelete)
        {
            //if theres only one pellet
            if (headPointer == tailPointer)
            {
                headPointer = null;
                tailPointer = null;
            }

            //if deleting last node
            else if (nodeToDelete == tailPointer)
            {
                StringNode nodeWalker = headPointer;
                while (nodeWalker.Next != nodeToDelete)
                {
                    nodeWalker = nodeWalker.Next;
                }
                tailPointer = nodeWalker;
            }
            // if deleting frist pellet
            else if (headPointer == nodeToDelete)
            {
                headPointer = nodeToDelete.Next;
            }

            //if deleting pellet in linked list longer than 2
            else
            {
                StringNode nodeWalker = headPointer;
                while (nodeWalker != nodeToDelete)
                {
                    nodeWalker = nodeWalker.Next;
                }
                nodeWalker = nodeToDelete.Next;
            }
        }
 //constructor sets string and next values
 public StringNode(String newString)
 {
     stringValue = newString;
     Next        = null;
 }