dsa exp6
dsa exp6
Write a menu driven program to implement following operations on the singly linked list
#include <iostream>
struct Node {
int data;
Node* next;
};
temp = temp->next;
if (head == nullptr) {
return nullptr;
head = head->next;
delete temp;
cout << "First node deleted." << endl;
return head;
return head;
prev = temp;
temp = temp->next;
pos--;
if (prev == nullptr) {
head = head->next;
} else {
prev->next = temp->next;
delete temp;
cout << "Node before position " << pos << " deleted." << endl;
return head;
temp = temp->next;
pos--;
}
cout << "Invalid position or no node exists after it." << endl;
return;
temp->next = toDelete->next;
delete toDelete;
cout << "Node after position " << pos << " deleted." << endl;
int main() {
do {
switch (choice) {
case 1:
head = deleteFirstNode(head);
break;
case 2:
break;
case 3:
deleteAfterPosition(head, pos);
break;
case 4:
displayList(head);
break;
case 5:
break;
default:
head = head->next;
delete temp;
return 0;