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

Python Language Basics - 2

Slice string in python: details= "Akshay Kumar Gupta--akshaygupta.me" # details[:6] and details[0:6] will give same result print(details[: 6 ]) # OUTPUT: Akshay # details[20:] and details[20:34] will give same result print(details[ 20 :]) # OUTPUT: akshaygupta.me # -1 denotes the reverse order print(details[ 11 ::- 1 ]) #OUTPUT: ramuK yahskA # Here -9 denotes the count from the end of the string print(details[:- 9 :- 1 ]) #OUTPUT: em.atpug #Both syntax gives the same result for reversing the string print(details[- 1 ::- 1 ]) #OUTPUT: em.atpugyahska--atpuG ramuK yahskA print(details[::- 1 ]) #OUTPUT: em.atpugyahska--atpuG ramuK yahskA Format print in python: print( "hi, My name is {} and I am a {}. I like {}." .format( "Akshay" , "Software Engineer" , "python" )) In the above print statement, "{}" refers to the placement of the values given in "format()" function. First value in the order "format()"

Print Given Number Pattern in Java

public class NumberPattern { public static void main(String a []) { for ( int i = 1; i <=4; i ++) { for ( int j =0; j <4; j ++) { int sum = i + j ; // if sum is greater than 4 then subtract 4 from the sum otherwise print the sum System. out .print( sum > 4 ? sum - 4+ " " : sum + " " ); } System. out .println(); } } }