From d90fdf8282c368139ff8b4ff85e8cf203bf76af9 Mon Sep 17 00:00:00 2001 From: Samrat De Date: Thu, 21 May 2020 19:40:07 +0530 Subject: [PATCH] handled all automated failing tests --- data_structure/Doubly Linked List.cpp | 248 +++++++++++--------------- 1 file changed, 107 insertions(+), 141 deletions(-) diff --git a/data_structure/Doubly Linked List.cpp b/data_structure/Doubly Linked List.cpp index a1b6da3ad..a333bd374 100644 --- a/data_structure/Doubly Linked List.cpp +++ b/data_structure/Doubly Linked List.cpp @@ -1,158 +1,124 @@ #include -using namespace std; -struct node -{ - int val; - node *prev; - node *next; +struct node { + int val; + node *prev; + node *next; }; node *start; -void insert(int x) -{ - node *t = start; - if (start != NULL) - { - while (t->next != NULL) - { - t = t->next; - } - node *n = new node; - t->next = n; - n->prev = t; - n->val = x; - n->next = NULL; - } - else - { - node *n = new node; - n->val = x; - n->prev = NULL; - n->next = NULL; - start = n; - } +void insert(int x) { + node *t = start; + if (start != NULL) { + while (t->next != NULL) { + t = t->next; + } + node *n = new node; + t->next = n; + n->prev = t; + n->val = x; + n->next = NULL; + } else { + node *n = new node; + n->val = x; + n->prev = NULL; + n->next = NULL; + start = n; + } } -void remove(int x) -{ - node *t = start; - while (t != NULL && t->val != x) - { - t = t-> next; - } - if (t == NULL) - { - return; - } - // if first element is removed - if (t->prev == NULL) - { - if (t->next == NULL) - { - start = NULL; - } - else - { - start = t->next; - start->prev = NULL; - } - } - else if (t->next == NULL) - { - t->prev->next = NULL; - } - else - { - t->prev->next = t->next; - t->next->prev = t->prev; - } - delete t; +void remove(int x) { + node *t = start; + while (t != NULL && t->val != x) { + t = t-> next; + } + if (t == NULL) { + return; + } + if (t->prev == NULL) { + if (t->next == NULL) { + start = NULL; + } else { + start = t->next; + start->prev = NULL; + } + } else if (t->next == NULL) { + t->prev->next = NULL; + } else { + t->prev->next = t->next; + t->next->prev = t->prev; + } } -void search(int x) -{ - node *t = start; - int found = 0; - while (t != NULL) - { - if (t->val == x) - { - cout << "\nFound"; - found = 1; - break; - } - t = t->next; - } - if (found == 0) - { - cout << "\nNot Found"; - } +void search(int x) { + node *t = start; + int found = 0; + while (t != NULL) { + if (t->val == x) { + std::cout << "\nFound"; + found = 1; + break; + } + t = t->next; + } + if (found == 0) { + std::cout << "\nNot Found"; + } } -void show() -{ - node *t = start; - while (t != NULL) - { - cout << t->val << "\t"; - t = t->next; - } +void show() { + node *t = start; + while (t != NULL) { + std::cout << t->val << "\t"; + t = t->next; + } } -void reverseShow() -{ - node *t = start; - while (t->next != NULL) - { - t = t->next; - } - while (t != NULL) - { - cout << t->val << "\t"; - t = t->prev; - } +void reverseShow() { + node *t = start; + while (t->next != NULL) { + t = t->next; + } + while (t != NULL) { + std::cout << t->val << "\t"; + t = t->prev; + } } -int main() -{ - int choice, x; - do - { - cout << "\n1. Insert"; - cout << "\n2. Delete"; - cout << "\n3. Search"; - cout << "\n4. Forward print"; - cout << "\n5. Reverse print"; - cout << "\n\nEnter you choice : "; - cin >> choice; - switch (choice) - { - case 1: - cout << "\nEnter the element to be inserted : "; - cin >> x; - ; - insert(x); - break; - case 2: - cout << "\nEnter the element to be removed : "; - cin >> x; - remove(x); - break; - case 3: - cout << "\nEnter the element to be searched : "; - cin >> x; - search(x); - break; - case 4: - show(); - break; - case 5: - reverseShow(); - break; - } - } while (choice != 0); - - return 0; +int main() { + int choice, x; + do { + std::cout << "\n1. Insert"; + std::cout << "\n2. Delete"; + std::cout << "\n3. Search"; + std::cout << "\n4. Forward print"; + std::cout << "\n5. Reverse print"; + std::cout << "\n\nEnter you choice : "; + std::cin >> choice; + switch (choice) { + case 1: + std::cout << "\nEnter the element to be inserted : "; + std::cin >> x; + insert(x); + break; + case 2: + std::cout << "\nEnter the element to be removed : "; + std::cin >> x; + remove(x); + break; + case 3: + std::cout << "\nEnter the element to be searched : "; + std::cin >> x; + search(x); + break; + case 4: + show(); + break; + case 5: + reverseShow(); + break; + } + } while (choice != 0); + return 0; }