From 5d511300cb7acbb03d9d6ce1d35e7982c4ee464e Mon Sep 17 00:00:00 2001 From: Shubham Shubham Date: Thu, 1 Oct 2020 11:40:43 +0530 Subject: [PATCH] Add reverse linked list program --- CODE in C/Data Structures/a.out | Bin 0 -> 8648 bytes .../Data Structures/reverse_linked_list.c | 66 ++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100755 CODE in C/Data Structures/a.out create mode 100644 CODE in C/Data Structures/reverse_linked_list.c diff --git a/CODE in C/Data Structures/a.out b/CODE in C/Data Structures/a.out new file mode 100755 index 0000000000000000000000000000000000000000..2bad9d6cd84b35ebe9e87e15c79299bf147236b6 GIT binary patch literal 8648 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 a@)MhLZr7Aju3y|ft**eASy55D{l5Xy)6%m5 literal 0 HcmV?d00001 diff --git a/CODE in C/Data Structures/reverse_linked_list.c b/CODE in C/Data Structures/reverse_linked_list.c new file mode 100644 index 0000000..e87fd33 --- /dev/null +++ b/CODE in C/Data Structures/reverse_linked_list.c @@ -0,0 +1,66 @@ +#include +#include + +struct Node { + int data; + struct Node* next; +}; + +static void reverse(struct Node** head_ref) +{ + struct Node* prev = NULL; + struct Node* current = *head_ref; + struct Node* next = NULL; + + while (current != NULL) + { + next = current->next; + current->next = prev; + prev = current; + current = next; + } + + *head_ref = prev; +} + +void push(struct Node** head_ref, int new_data) +{ + struct Node* new_node = (struct Node*)malloc(sizeof(struct Node)); + new_node->data = new_data; + new_node->next = (*head_ref); + (*head_ref) = new_node; +} + +void printList(struct Node* head) +{ + struct Node* temp = head; + while (temp != NULL) { + printf("%d ", temp->data); + temp = temp->next; + } +} + +int main() +{ + struct Node* head = NULL; + + int n; + scanf("%d", &n); + + int nums[n]; + + for(int i = n; i > 0; i--) + scanf("%d", &nums[i]); + + for(int i = n; i > 0; i--) + { + push(&head, nums[i]); + } + + printf("Given linked list\n"); + printList(head); + reverse(&head); + printf("\nReversed Linked list \n"); + printList(head); + getchar(); +}