public class LinkedList {
public static void main(String[] args) {
// Test LinkedList
Node head = createSampleList();
System.out.print("Original Linked List: ");
printLinkedList(head);
int newData = 123; // Insert new node anywhere
head = insertAnywhere(head, newData, 2);
System.out.println("Linked List after inserting " + newData + " at position 5: ");
printLinkedList(head);
int dataToDelete = 4; // Delete node with data 4
head = deleteNode(head, dataToDelete);
System.out.println("Linked List after deleting node with data " + dataToDelete + ": ");
printLinkedList(head);
}
static class Node {
int data;
Node next;
Node(int data) {
this.data = data;
this.next = null;
}
}
// Function to create a sample LinkedList
private static Node createSampleList() {
Node head = new Node(1);
head.next = new Node(2);
head.next.next = new Node(3);
head.next.next.next = new Node(4);
head.next.next.next.next = new Node(5);
return head;
}
// Function to print the elements of a LinkedList
private static void printLinkedList(Node head) {
Node current = head;
while (current != null) {
System.out.print(current.data + " ");
current = current.next;
}
System.out.println();
}
// Function to insert a new node at any position in the LinkedList
private static Node insertAnywhere(Node head, int newData, int position) {
Node newNode = new Node(newData);
if (head == null || position <= 0) {
newNode.next = head;
return newNode;
}
Node current = head;
for (int i = 0; i < position - 1 && current.next != null; i++) {
current = current.next;
}
newNode.next = current.next;
current.next = newNode;
return head;
}
// Function to delete a node with a given data value from the LinkedList
private static Node deleteNode(Node head, int dataToDelete) {
if (head == null) {
return null;
}
if (head.data == dataToDelete) {
return head.next;
}
Node current = head;
while (current.next != null) {
if (current.next.data == dataToDelete) {
current.next = current.next.next;
return head;
}
current = current.next;
}
return head;
}
}
March 13, 2024
Java Problem Solution: Implement a Linked List in Java
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.