Ошибка бесконечной рекурсии при сортировке связного списка слиянием ⇐ C++
-
Anonymous
Ошибка бесконечной рекурсии при сортировке связного списка слиянием
I am applying mergesort on a linked list. Here's the problem : https://leetcode.com/problems/sort-list/
void mergesort(ListNode* head,ListNode* low, ListNode* high){ ListNode* slow = low; ListNode* fast = low; if (low==high) return; while (fast->next && fast->next->next){ fast = fast->next->next; slow = slow->next; } ListNode* mid = slow; ListNode* mid1 = mid->next; mid->next == NULL; mergesort(head,low,mid); mergesort(head,mid1,high); merge(head,low,mid,high); } class Solution { public: ListNode* sortList(ListNode* head) { ListNode* traverse = head; while(traverse->next){ traverse = traverse->next; } ListNode* high = traverse; cout
Источник: https://stackoverflow.com/questions/780 ... inked-list
I am applying mergesort on a linked list. Here's the problem : https://leetcode.com/problems/sort-list/
void mergesort(ListNode* head,ListNode* low, ListNode* high){ ListNode* slow = low; ListNode* fast = low; if (low==high) return; while (fast->next && fast->next->next){ fast = fast->next->next; slow = slow->next; } ListNode* mid = slow; ListNode* mid1 = mid->next; mid->next == NULL; mergesort(head,low,mid); mergesort(head,mid1,high); merge(head,low,mid,high); } class Solution { public: ListNode* sortList(ListNode* head) { ListNode* traverse = head; while(traverse->next){ traverse = traverse->next; } ListNode* high = traverse; cout
Источник: https://stackoverflow.com/questions/780 ... inked-list
Мобильная версия