JAVA-7
Q.7 Write a java program that creates Singly Link List to perform create, insert, delete and display node
using menu driven program.
Solution :-Â
import java.util.Scanner;
class Node {
int data;
Node next;
public Node(int data) {
this.data = data;
this.next = null;
}
}
class SinglyLinkedList {
private Node head;
public void create(int data) {
head = new Node(data);
System.out.println("Linked List created with head node: " + data);
}
public void insert(int data) {
Node newNode = new Node(data);
if (head == null) {
head = newNode;
} else {
Node temp = head;
while (temp.next != null) {
temp = temp.next;
}
temp.next = newNode;
}
System.out.println("Node inserted: " + data);
}
public void delete(int data) {
if (head == null) {
System.out.println("List is empty. Nothing to delete.");
return;
}
if (head.data == data) {
head = head.next;
System.out.println("Node deleted: " + data);
return;
}
Node temp = head;
while (temp.next != null && temp.next.data != data) {
temp = temp.next;
}
if (temp.next == null) {
System.out.println("Node not found: " + data);
} else {
temp.next = temp.next.next;
System.out.println("Node deleted: " + data);
}
}
public void display() {
if (head == null) {
System.out.println("List is empty.");
return;
}
Node temp = head;
System.out.print("Linked List: ");
while (temp != null) {
System.out.print(temp.data + " -> ");
temp = temp.next;
}
System.out.println("NULL");
}
}
public class LinkedListMenu {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
SinglyLinkedList list = new SinglyLinkedList();
while (true) {
System.out.println("\nMenu:");
System.out.println("1. Create Linked List");
System.out.println("2. Insert Node");
System.out.println("3. Delete Node");
System.out.println("4. Display List");
System.out.println("5. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("Enter data for head node: ");
int data = scanner.nextInt();
list.create(data);
break;
case 2:
System.out.print("Enter data to insert: ");
data = scanner.nextInt();
list.insert(data);
break;
case 3:
System.out.print("Enter data to delete: ");
data = scanner.nextInt();
list.delete(data);
break;
case 4:
list.display();
break;
case 5:
System.out.println("Exiting program.");
scanner.close();
return;
default:
System.out.println("Invalid choice. Try again.");
}
}
}
}