+3 votes
in JAVA by
Write a program in Java to create a doubly linked list containing n nodes.

1 Answer

0 votes
by
Consider the following program to create a doubly linked list containing n nodes.

  public class CountList {  

      

    //Represent a node of the doubly linked list  

  

    class Node{  

        int data;  

        Node previous;  

        Node next;  

          

        public Node(int data) {  

            this.data = data;  

        }  

    }  

      

    //Represent the head and tail of the doubly linked list  

    Node head, tail = null;  

      

    //addNode() will add a node to the list  

    public void addNode(int data) {  

        //Create a new node  

        Node newNode = new Node(data);  

          

        //If list is empty  

        if(head == null) {  

            //Both head and tail will point to newNode  

            head = tail = newNode;  

            //head's previous will point to null  

            head.previous = null;  

            //tail's next will point to null, as it is the last node of the list  

            tail.next = null;  

        }  

        else {  

            //newNode will be added after tail such that tail's next will point to newNode  

            tail.next = newNode;  

            //newNode's previous will point to tail  

            newNode.previous = tail;  

            //newNode will become new tail  

            tail = newNode;  

            //As it is last node, tail's next will point to null  

            tail.next = null;  

        }  

    }  

      

    //countNodes() will count the nodes present in the list  

    public int countNodes() {  

        int counter = 0;  

        //Node current will point to head  

        Node current = head;  

          

        while(current != null) {  

            //Increment the counter by 1 for each node  

            counter++;  

            current = current.next;  

        }  

        return counter;  

    }  

      

    //display() will print out the elements of the list  

    public void display() {  

        //Node current will point to head  

        Node current = head;  

        if(head == null) {  

            System.out.println("List is empty");  

            return;  

        }  

        System.out.println("Nodes of doubly linked list: ");  

        while(current != null) {  

            //Prints each node by incrementing the pointer.  

  

            System.out.print(current.data + " ");  

            current = current.next;  

        }  

    }  

      

    public static void main(String[] args) {  

          

        CountList dList = new CountList();  

        //Add nodes to the list  

        dList.addNode(1);  

        dList.addNode(2);  

        dList.addNode(3);  

        dList.addNode(4);  

        dList.addNode(5);  

          

        //Displays the nodes present in the list  

        dList.display();  

          

        //Counts the nodes present in the given list  

        System.out.println("\nCount of nodes present in the list: " + dList.countNodes());  

    }  

}

Related questions

0 votes
asked May 4, 2021 in JAVA by SakshiSharma
0 votes
asked May 3, 2021 in JAVA by Robindeniel
...