Adding items to end of linked list

后端 未结 9 862
夕颜
夕颜 2020-12-03 16:03

I\'m studying for an exam, and this is a problem from an old test:

We have a singly linked list with a list head with the following declaration:

clas         


        
9条回答
  •  隐瞒了意图╮
    2020-12-03 16:57

    Here is a partial solution to your linked list class, I have left the rest of the implementation to you, and also left the good suggestion to add a tail node as part of the linked list to you as well.

    The node file :

    public class Node 
    {
        private Object data; 
        private Node next; 
    
        public Node(Object d) 
        { 
            data = d ;
            next = null;
        }
    
        public Object GetItem()
        {
            return data;
        }
    
        public Node GetNext()
        {
            return next;
        }
    
        public void SetNext(Node toAppend)
        {
            next = toAppend;
        }
    }
    

    And here is a Linked List file :

    public class LL
    {
        private Node head;
    
        public LL()
        {
            head = null;
        }
    
        public void AddToEnd(String x)
        {
            Node current = head;
    
            // as you mentioned, this is the base case
            if(current == null) {
                head = new Node(x);
                head.SetNext(null);
            }
    
            // you should understand this part thoroughly :
            // this is the code that traverses the list.
            // the germane thing to see is that when the 
            // link to the next node is null, we are at the 
            // end of the list.
            else {
                while(current.GetNext() != null)
                    current = current.GetNext();
    
                // add new node at the end
            Node toAppend = new Node(x);
                current.SetNext(toAppend);
            }
        }
    }
    

提交回复
热议问题