Java Program to Implement LinkedList

JavaCampus InterviewServer Side ProgrammingProgramming

In this article, we will understand how to implement linked-list. The java.util.LinkedList class operations perform we can expect for a doubly-linked list. Operations that index into the list will traverse the list from the beginning or the end, whichever is closer to the specified index.

Below is a demonstration of the same −

Suppose our input is

Run the program

The desired output would be

The elements of the linked list are:
100 150 200 250

Algorithm

Step 1 - START
Step 2 - Create a class with the required members.
Step 3 - Define an ‘insert’ function to add elements to the list.
Step 4 - In the ‘main’ method, create a new instance of the class.
Step 5 - Create a list, and add elements to it using the ‘insert’ method.
Step 6 - Iterate over the list, and display the value present in the current node.
Step 7 - Move on to the next node and perform the same operation.
Step 8 - Do this until the end of the list is reached.
Step 9 - Display the result
Step 10 - Stop

Example 1

Here, we bind all the operations together under the ‘main’ function.

public class Demo {
   Node head;
   static class Node {
      int data;
      Node next_element;
      Node(int element){
         data = element;
         next_element = null;
      }
   }
   public static Demo insert(Demo input_list, int data){
      Node new_node = new Node(data);
      new_node.next_element = null;
      if (input_list.head == null) {
         input_list.head = new_node;
      }
      else {
         Node last = input_list.head;
         while (last.next_element != null) {
            last = last.next_element;
         }
         last.next_element = new_node;
      }
      return input_list;
   }
   public static void main(String[] args){
      Demo input_list = new Demo();
      System.out.print("A linked list is declared: \n");
      input_list = insert(input_list, 100);
      input_list = insert(input_list, 150);
      input_list = insert(input_list, 200);
      input_list = insert(input_list, 250);
      Node current_node = input_list.head;
      System.out.print("The elements of the linked list are: \n");
      while (current_node != null) {
         System.out.print(current_node.data + " ");
         current_node = current_node.next_element;
      }
   }
}

Output

A linked list is declared:
The elements of the linked list are:
100 150 200 250

Example 2

Here, we encapsulate the operations into functions exhibiting object oriented programming.

public class Demo {
   Node head;
   static class Node {
      int data;
      Node next_element;
      Node(int element){
         data = element;
         next_element = null;
      }
   }
   public static Demo insert(Demo input_list, int data){
      Node new_node = new Node(data);
      new_node.next_element = null;
      if (input_list.head == null) {
         input_list.head = new_node;
      }
      else {
         Node last = input_list.head;
         while (last.next_element != null) {
            last = last.next_element;
         }
         last.next_element = new_node;
      }
      return input_list;
   }
   public static void print_list(Demo input_list){
      Node current_node = input_list.head;
      System.out.print("The elements of the linked list are: \n");
      while (current_node != null) {
         System.out.print(current_node.data + " ");
         current_node = current_node.next_element;
      }
   }
   public static void main(String[] args){
      Demo input_list = new Demo();
      System.out.print("A linked list is declared: \n");
      input_list = insert(input_list, 100);
      input_list = insert(input_list, 150);
      input_list = insert(input_list, 200);
      input_list = insert(input_list, 250);
      print_list(input_list);
   }
}

Output

A linked list is declared:
The elements of the linked list are:
100 150 200 250
raja
Updated on 30-Mar-2022 07:50:48

Advertisements