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

Run a Local LLM with Ollama and Use Apple Shortcut Automations to Auto-Reply to Messages

Apple’s Shortcut Automations allow your iPhone or Mac to react to events like receiving a message . By combining this with a locally hosted LLM (via Ollama) , you can build a private AI auto-reply system that runs entirely on your local network. In this guide, we’ll configure: A local LLM using Ollama A message-triggered Shortcut Automation Sender-based filtering Automatic AI-generated replies (within Apple’s security limits) 1. Why Use Shortcut Automations Instead of Manual Shortcuts? Automations let Shortcuts run automatically when an event occurs. Examples: When a message is received When a specific person messages you When you arrive at a location At a specific time For AI auto-replies, message-based automations are ideal. 2. Install and Run a Local LLM with Ollama Install Ollama: brew install ollama Start the server (default port): ollama serve Verify installation: ollama list 3. Pull a Lightweight Model For message replies, small models work best: ollama pull tinyllama Or for b...

How to Setup Virtual Environment in Python with venv

A virtual environment is the most used tool by the developers to isolate the dependencies for different projects. Suppose you have two projects say porj1 and proj2 . proj1 needs the Django dependency with version 3.2 but your proj2 needs the Django dependency with version 2.2. In this situation you need a virtual environment to keep the both version on your system separately.  How to create virtual environment in python:  Decide a directory where you want to create the virtual environment. You can use your project directory or any other directory as per your wish.  Run the below command. Here` awesome_proj_env ` is the folder where virtual environment will be created. if the folder does not exists then it will be created automatically. python3 -m venv awesome_proj_env    Activate the virtual environment: On Linux/Mac OSX: source awesome_proj_env/bin/activate  On Windows: awesome_proj_env \Scripts\activate.bat Deactivate the virtual environment in Pyth...

LeetCode: Product of Array Except Self

Given an integer array  nums , return  an array   answer   such that   answer[i]   is equal to the product of all the elements of   nums   except   nums[i] . The product of any prefix or suffix of  nums  is  guaranteed  to fit in a  32-bit  integer. You must write an algorithm that runs in  O(n)  time and without using the division operation.   Example 1: Input: nums = [1,2,3,4] Output: [24,12,8,6] Example 2: Input: nums = [-1,1,0,-3,3] Output: [0,0,9,0,0]   Constraints: 2 <= nums.length <= 10 5 -30 <= nums[i] <= 30 The product of any prefix or suffix of  nums  is  guaranteed  to fit in a  32-bit  integer. Solution: class Solution { public int [] productExceptSelf ( int [] nums ) { int [] pr = new int [ nums . length ]; int [] sf = new int [ nums . length ]; int [] res = new int [ nums . length ]; int prc = 0 ;...