Skip to main content

LinkedList Creation and Traversal | Java | MyCodingNetwork

How to Create and Traverse a Linked List without using Java collection frameworks?

Linked lists are an essential data structure in computer science, providing an efficient way to store and manage data. In Java, the LinkedList class in the Java Collections framework is widely used for this purpose. However, in this blog post, we will explore how to create a LinkedList from scratch using a custom class, without relying on the built-in Java Collections.

 

Algorithm:

1.            Define a Node class that represents individual nodes in the list. Each node contains data and a reference to the next node in the sequence.

2.            To add elements to the LinkedList, we will create an object of the Node class and assign a value of the node to its constructor. Its syntax is: Node newNode = new Node(value);

3.            To traverse the LinkedList, we'll create a traverse( ) function start from the head node and keep moving to the next node until we reach the end (i.e., the next node is null).

Source Code:

 


Output:

 


Theory:

In the above code, there are two classes Node and LL are created.

1.            Node class contains two instance variables, next and data. The ‘data’ variable stores the value of a node and the next variable is used to store a reference to the next node.

2.            LL class contains a main( ) function which has been used to create a linked list of three nodes, (namely, node1, node2 and node3). These nodes are linked together using the next field. The head variable is assigned with the first node, here, node1. Now, the traverse() function can then be called by passing the head of the node as the formal parameter.

3.            The traverse() method starts by initializing the cur variable with the head of the node. It then enters into a while loop which terminates when current reaches null. Inside the loop, we have a print statement, for printing the value that is data of the current node, that is, cur. After this, the cur variable is updated to the next node of the linked list. This process continues till the loop reaches its termination. Thus, we get the output.

Video reference:



Hope you liked this explanation, for any feedback or doubt you can comment down in the comment section.

 

Popular posts from this blog

Pattern 4 | Java | MyCodingNetwork | Alok Tripathi (Code 6)

Problem Statement: Write a program to draw the following pattern where number of rows are decided by the user and given to the program as input:         *       * *     * * *   * * * * * * * * * * * * * * * (Take a variable n which takes the number of rows as input from the user, For above example, n=6) OUTPUT: The above program is the extension of the previous program (Pattern #3). This program asks the user to input the number of rows that it wants in the program. For accepting the input, the program has Scanner class which has been extracted from the package java.util . In this program, we will learn how to receive data from the user. If you remember in three previous patterns, the program itself had the input of number of rows where n=8, but now the user will tell the program how many rows are to be added.   Simplification 1.     In Line 1, the java.util  package has been imported, to use the Scanner cl...

Pattern 6 | Java | MyCodingNetwork | Alok Tripathi (Code 8)

Problem Statement: Write a program to make a square and mark out its diagonals. Accept the length as input from the user and give output in the following manner: And ( In simple words, we have printed stars (*) on the boundary positions of the matrix and on the centre positions of the matrix we have printed blank space( ) )   THE CODE: Sample Output: In the above program, two int variables r to accept the length of square as input. On line 7, following statement is used to accept the input from the user: int r = sc . nextInt ();   For taking the input Scanner class has been used, more about Scanner class Algorithm: Two for loops are defined: ·         First for loop with counter variable i has initial value 1, conditional statement i less than or equal to r and an updating statement i++ . ·         Inside the first loop there is a second for loop, with counter variable j has ini...

Binary Search | The-Algorithm-Drive | MyCodingNetwork

Binary Search The next algorithm, we are going to study is Binary Search . As the name suggests, it is a searching algorithm. It is one of the very famous searching techniques. Unlike its counterpart linear search, it is way more advanced.  Time complexity of linear search is O(N) whereas that of binary search is O (log N). Source Code: Output Number Found at index =5 Working Let’s come on to the working of the algorithm, as you can see in the above program, we need a sorted array to perform binary search algorithm. 1.    Here, bin function in the above program it accepts 4 parameters, that is, the array arr , lower index low , higher index high and the searching number sn . 2.    Next, we have a do-while loop to check if high is greater than or equal to low (high>=low). If at any point of iteration this condition is not satisfied, it means the searching number sn does not exist in the array. Following is the algorithm for binary search: while ...