From 7eee5a78005a9a569186d2c8b4b645a818ab9bf1 Mon Sep 17 00:00:00 2001 From: Stoycho Kyosev Date: Sun, 6 Oct 2024 07:04:44 -0400 Subject: Cleanup --- Additional/Additional-2022-CS/oddEvenList.cpp | 55 --------------------------- 1 file changed, 55 deletions(-) delete mode 100644 Additional/Additional-2022-CS/oddEvenList.cpp (limited to 'Additional/Additional-2022-CS/oddEvenList.cpp') diff --git a/Additional/Additional-2022-CS/oddEvenList.cpp b/Additional/Additional-2022-CS/oddEvenList.cpp deleted file mode 100644 index 05a95ac..0000000 --- a/Additional/Additional-2022-CS/oddEvenList.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include"../Seminar04/linked-list-utils.h" - -using ListNode = LinkedListNode; - -ListNode* oddEvenList(ListNode* head) { - if(head == nullptr || head->next == nullptr) - return head; - - ListNode* oddStart = nullptr; - ListNode* oddIter = nullptr; - - ListNode* evenStart = nullptr; - ListNode* evenIter = nullptr; - - bool odd = true; - - while(head) { - ListNode*& curr = odd ? oddIter : evenIter; - - if(curr == nullptr) { - curr = head; - if(odd) - oddStart = head; - else - evenStart = head; - } - else { - curr->next = head; - curr = curr->next; - } - - head = head->next; - odd = !odd; - } - - oddIter->next = evenStart; - - if(evenIter != nullptr) - evenIter->next = nullptr; - - return oddStart; -} - -int main() { - ListNode* l = fromList({1, 2, 3, 4, 5}); - - ListNode* result = oddEvenList(l); - printLinkedList(result); - freeList(result); - - ListNode* ls = fromList({2, 1, 3, 5, 6, 4, 7}); - result = oddEvenList(ls); - printLinkedList(result); - freeList(result); -} \ No newline at end of file -- cgit v1.3.1-26-gb76a