Damith
9,334 views

Overview

Singly Linked List is a linear data structure. In a Linked List each node in the list stores data and reference to the next node.

Arrays also can be used to store linear data. But compare with the Linked List, Arrays have some limitations.

Pros:-

1. Arrays size is fixed. We must define the size of the array before use it. In Linked List size is dynamic. We can add data as much as we want.
2. Insertion and Deletion are not expensive compared with the Array. In array need to be moved the elements when inserting or deleting.

Cons:-

1. Need extra memory space for keeping a reference to next element.
2. Random access is not allowed.

Implementation

Node class.

class Node{
Node nextNode;
int data;
}


Insert new Node into the linked list.

public void insert(int data) {
//create a new Node and store a data.
Node node = new Node();
node.data = data;
node.nextNode = null;

//check the head is null or not.
//if head is null, assign the Node and exit.
return;
}

//assign a head into the temp Node and loop it until find the null reference.
while (tempNode.nextNode != null) {
tempNode = tempNode.nextNode;
}

//assign new node.
tempNode.nextNode = node;
}


This is for print the linked list.

public void print() {
return;
}
//print all nodes
while (tempNode != null) {
System.out.print(tempNode.data + "->");
tempNode = tempNode.nextNode;
}
System.out.println("NULL");
}


Complete Example

class Node {
int data;
Node nextNode;
}
public void insert(int data) {
//create a new Node and store a data.
Node node = new Node();
node.data = data;
node.nextNode = null;
//check the head is null or not.
//if head is null, assign the Node and exit.
return;
}
//assign a head into the temp Node and loop it until find the null reference.
while (tempNode.nextNode != null) {
tempNode = tempNode.nextNode;
}
//assign new node.
tempNode.nextNode = node;
}
public void print() {
return;
}
//print all nodes
while (tempNode != null) {
System.out.print(tempNode.data + "->");
tempNode = tempNode.nextNode;
}
System.out.println("NULL");
}
}
public class Main {
public static void main(String[] args) {  