Skip to main content

LinkList implementation with Insert, InsertAt, Delete Methods in Java

Linklist representation
Linklist Representation 


Node.java

 

public class Node {

int data;

Node next;

Node(int data, Node next){

this.data = data;

this.next = next;

}

}


LinkList.java

public class LinkList {

Node head;

public void insert(int data) {

Node node = new Node(data, null);

if(head == null) {

head = node;

} else {

Node currentNode = head;

while(currentNode.next != null) {

currentNode = currentNode.next;

}

currentNode.next = node;

}

}

public void inserAtStart(int data) {

Node node = new Node(data, null);

node.next = head;

head = node;

}

public void insertAt(int index, int data) {

Node node = new Node(data, null);

// if index is 0 or head is null then insert at start

if(index == 0 || head == null) {

inserAtStart(data);

} else {

int pos = 1;

Node prevNode = head;

//find the previous node for current node 

//and if the input index is greater than the current length of linklist 

//then break the while loop and insert at last 

while(pos != index && prevNode.next != null) {

prevNode = prevNode.next;

pos++;

}

Node nextNode = prevNode.next;

prevNode.next = node;

node.next = nextNode;

}

}

public void deleteAt(int index) {

Node currentNode = head;

int deletedData;

if(index == 0) {

deletedData = head.data;

head = head.next;

} else {

int pos = 0;

while(pos != index - 1) { 

currentNode = currentNode.next;

pos++;

}

deletedData = currentNode.next.data;

currentNode.next = currentNode.next.next;

}

System.out.println("Node with data "+ deletedData+ " deleted.\n");

}

public void show() {

Node currentNode = head;

while(currentNode != null) {

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

currentNode = currentNode.next; 

}

}

}


Runner.java


public class Runner {

public static void main(String a[]) {

LinkList list = new LinkList();

list.insert(1); 

list.insert(5); 

list.insert(4); 

list.insert(2); 

list.insert(7);

list.inserAtStart(15);

list.insertAt(3, 22);

list.deleteAt(1);

list.deleteAt(5);

list.show();

}

}


//OUTPUT:

//Node with data 1 deleted.

//Node with data 7 deleted.

//15 5 22 4 2 

Comments

  1. It’s easy for anyone to deploy and manage your Inetsoft solution at scale, regardless of your technical skill level and experience.

    ReplyDelete

Post a Comment

Popular posts from this blog

How to kill a process running on particular port in Linux

  If port 8080 needs to be kill use below single command: kill -9 $(lsof -t -i:8080) Note: remove -9 from the command, if you don't want to kill the process violently. To list any process listening to the port 8080: lsof -i:8080 Use any port number that you want to kill.

Basics of Java Programming - Part 1

Datatypes in Java int 4 bytes short int 2 bytes long int 8 bytes byte 1 byte float  4 bytes double 8 bytes char 2 bytes Character to ASCII conversion in JAVA          class CharToASCII { public static void main(String a []) { char c1 = 'A' ; char c2 = 'a' ; System. out .print(( int ) c1 ); // OUTPUT: 65 System. out .print(( int ) c2 ); // OUTPUT: 97 System. out .print(( char )66); // OUTPUT: B  --> ASCII to i nt conversion           }        } "printf" is also available in JAVA            class  PrintfInJava {              public   static   void  main(String  a []) { int   i  =  4 ; int   j  =  7 ;                   int   k  =  i+j ; System. out .printf("Addition of %d and %d is %d", i, j, k);  // OUTPUT: 65            }        } Binary  Literals