From b0656d918ae58316e6a19400ca348cb64282dc31 Mon Sep 17 00:00:00 2001 From: durgeshsingh20 <76812050+durgeshsingh20@users.noreply.github.com> Date: Fri, 7 Oct 2022 07:55:01 +0530 Subject: [PATCH] Hacktoberfest2022 --- deleating_of_node000002.cpp | 111 ++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 deleating_of_node000002.cpp diff --git a/deleating_of_node000002.cpp b/deleating_of_node000002.cpp new file mode 100644 index 00000000..abd0bafb --- /dev/null +++ b/deleating_of_node000002.cpp @@ -0,0 +1,111 @@ +#include +#include +using namespace std; + +struct node +{ + int data; + struct node *next; +}; + +void trivarsal(struct node *ptr) +{ + while (ptr != NULL) + { + cout << "Element are :- " << ptr->data << endl; + ptr = ptr->next; + } +} +// case 1 --> delete at first +// struct node *Deleteatfirst(struct node *head){ +// struct node *ptr=head; +// head=head->next; +// free(ptr); +// return head; +// } + +// case 2 --> deletion a element at given index +// struct node *DeleteAtIndex(struct node *head,int index){ +// struct node *ptr=head; +// struct node *q = head->next; +// for(int i=0;inext; +// q->next; +// } +// ptr->next = q->next; +// free(q); +// return head; + + + +// case 3 :- delete at last element +struct node *DeleteAtLast(struct node *head){ + struct node *p = head; + struct node *q = head->next; + while(q->next != NULL){ + p= p->next; + q= p->next; + } + p ->next = NULL; + free(q); + return head; +} + + +int main() +{ + struct node *head; + struct node *second; + struct node *third; + struct node *fourth; + struct node *fifth; + struct node *six; + struct node *seven; + struct node *eight; + head = (struct node *)malloc(sizeof(struct node)); + second = (struct node *)malloc(sizeof(struct node)); + third = (struct node *)malloc(sizeof(struct node)); + fourth = (struct node *)malloc(sizeof(struct node)); + fifth = (struct node *)malloc(sizeof(struct node)); + six = (struct node *)malloc(sizeof(struct node)); + seven = (struct node *)malloc(sizeof(struct node)); + eight = (struct node *)malloc(sizeof(struct node)); + + head->data = 1; + head->next = second; + + second->data = 2; + second->next = third; + + third->data = 3; + third->next = fourth; + + fourth->data = 4; + fourth->next =fifth; + + fifth->data = 5; + fifth->next =six; + + six->data = 6; + six->next =seven; + + seven->data = 7; + seven->next =eight; + + eight->data = 8; + eight->next = NULL; + + cout<<"before deletion :- "<