Итак, я написал программу для вставки, удаления и отображения отсортированного связанного списка. Все работает плавно, но когда я ввожу неверное число (не в отсортированном связанном списке) для удаления, моя программа вылетает из строя. Вот моя функция удаления: -Удаление узла в отсортированном связанном списке в C
struct node* remove(struct node* head_ptr, int target)
{
struct node* help_ptr, *node2del;
help_ptr = head_ptr;
if(help_ptr != NULL)
{
if(help_ptr -> data == target)
{
head_ptr = help_ptr -> next;
free(help_ptr);
return head_ptr;
}
while (help_ptr -> next != NULL)
{
if(help_ptr -> next -> data == target)
{
node2del = help_ptr -> next;
help_ptr -> next = help_ptr -> next -> next;
free(node2del);
return head_ptr;
}
help_ptr = help_ptr -> next;
}
if(help_ptr->next->data != target)
printf("\n%d is not in the list.",target);
}
return head_ptr;
}
Click here по полной программе. Заранее спасибо!
Спасибо за быстрый ответ! – Shail