Cycle 03
Lab Cycle 3 — Linked List & Trees
Linked List Deletion
Problem Statement
Write a program to delete a node from a linked list by value.
#include <iostream>
using namespace std;
struct Node { int data; Node* next; };
void deleteNode(Node*& head, int key) {
if (head == NULL) return;
if (head->data == key) { Node* temp = head; head = head->next; delete temp; return; }
Node* temp = head;
while (temp->next != NULL && temp->next->data != key) temp = temp->next;
if (temp->next == NULL) return;
Node* toDelete = temp->next;
temp->next = temp->next->next;
delete toDelete;
}
int main() {
Node* head = NULL;
deleteNode(head, 20);
return 0;
}
Question 2 of 5