Может ли кто-нибудь помочь мне, где я делаю ошибку сегментации. Я сортирую связанный список с помощью сортировки слиянием. Думаю, мне нужно получить доступ к некоторым отрицательным индексам. пожалуйста, проверьте мой код.
Node* merge(Node *left, Node *right)
{
Node *res = new Node();
if (left == 0)
{
return right;
}
else if (right == 0)
{
return left;
}
else if ((left->data) < (right->data))
{
res = left;
res->link = merge(left->link, right);
}
else
{
res = right;
res->link = merge(left, right->link);
}
return res;
}
Node* mergesort(Node *head)
{
if (head == 0 || (head->link) == 0)
{
return head;
}
Node *mid = getmid(head);
Node *left = head;
Node *right = mid->link;
mid->link = 0;
Node *sortedlist = merge(left, right);
return sortedlist;
}