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

Blockchain in Theory - Blockchain, Bitcoin, Mining

   Blockchain is the software protocol that tell the Internet how to transfer money and assets. Blockchain is the layer and Bitcoin is the application. Just one of many cryptocurrency kinds of applications. When one user send email to another then both users do not have to know about the underlaying process except email address. Similarly,  User don't need to know anything other than other user's wallet address to send some bitcoin or other cryptocurrencies.  Any file on Internet may have multiple copies but money is something that should not be copied multiple times. This has been a longstanding problem in computing networks namely the double spend problem. Satoshi Nakamoto introduced white paper for digital cash system in 2008 to resolve the double spending problem and fortified by a ledger which enforces the money is only spent once. It took 15 years alone for corporate email as the main application to be a standard thing in our lives. And similarly the money Internet block

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.

Nudge Notes - Python Language Basics

  1. Datatypes in Python: None Numeric float -> 1.5 int -> 5 complex -> 2+5j bool -> True/false Sequence List -> [3,5,6,7,1] Tuple -> (3,5,6,7,1) Set -> {3,5,6,7,1} String -> "Akshay" Range  range(5) -> range(0, 5)  list(range(5)) -> [0,1,2,3,4] list(range(2,10,2)) -> [2,4,6,8] Dictonary product_price = {'book': 50, 'pen': 300, 'eraser': 10}  product_price.get('book') -> 50 2. Number Conversion in Python bin( 28 ) -> 0b 11100 oct( 28 ) -> 0o 34  hex( 28 ) ->  0x 1c 3. Swap two numbers in Python           a = 5       b = 6 Method #1:             a, b = b, a Method #2            a = a + b         b = a - b         a = a - b 4. "math" module in python     import math math.sqrt(25) -> 5.0 math.floor(2.5) -> 2.0 math.ceil(2.5) -> 3.0 math.pow(2, 3) -> 8.0 math.pi -> 3.141592653589793 math.e -> 2.718281828459045 5. How to import a module in python import math import math as