From c31bb6023a5f664b01054e53c254b9572995f3af Mon Sep 17 00:00:00 2001 From: Ankit Adhikari Date: Thu, 5 Dec 2024 12:55:17 +0530 Subject: [PATCH] added delete function in linked list --- data-structures/linkedList | Bin 0 -> 40504 bytes data-structures/linkedList.cpp | 41 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100755 data-structures/linkedList diff --git a/data-structures/linkedList b/data-structures/linkedList new file mode 100755 index 0000000000000000000000000000000000000000..60bf8c3be8c8ebf4c3413342fa23db4f47946ba1 GIT binary patch literal 40504 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 Jhxfe5{ucp#dgA~9 literal 0 HcmV?d00001 diff --git a/data-structures/linkedList.cpp b/data-structures/linkedList.cpp index 33ef17b..34f9b84 100644 --- a/data-structures/linkedList.cpp +++ b/data-structures/linkedList.cpp @@ -34,6 +34,45 @@ class LinkedList { currentNode->next = newNode; } + void deleteNode(int data) + { + if (this->head == NULL) + { + cout << "List is empty. Cannot delete." << endl; + return; + } + + // If the head node is to be deleted + if (this->head->data == data) + { + Node *temp = this->head; + this->head = this->head->next; + delete temp; + return; + } + + Node *currentNode = this->head; + Node *prevNode = NULL; + + // Traverse the list to find the node to delete + while (currentNode != NULL && currentNode->data != data) + { + prevNode = currentNode; + currentNode = currentNode->next; + } + + // If the node is not found + if (currentNode == NULL) + { + cout << "Node with value " << data << " not found." << endl; + return; + } + + // Remove the node + prevNode->next = currentNode->next; + delete currentNode; + } + void printList() { Node* currentNode = this->head; while (currentNode != NULL) { @@ -52,5 +91,7 @@ int main() { list.addNode(4); list.addNode(5); list.printList(); + list.deleteNode(3); + list.printList(); return 0; } \ No newline at end of file