Удаление и поиск элемента в односвязном списке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Вот мои функции, но они почему то не работают: функция удаления удаляет всегда голову, а функция поиска находит все элементы.
ITEM* delete_node(ITEM* head, int delete_data)
{
    ITEM *cur, *prev;
    prev=NULL;
    cur=head;
    while(cur!=NULL/* &&  cur->data<=delete_data*/)
    {
        if(delete_data-0.1<cur->data<delete_data+0.1)
        {

            if(prev==NULL)
            {
 
                head=head->next;
                printf("Jelement(golova) udalen");
            }
            else
            {
 
                cur=cur->next;
                printf("Jelement udalen");
            }
            free(cur);
            return head;
        }
 
        prev=cur;
        cur=cur->next;
    }
    printf("Jelement otsustvuet v spiske\n" );
    return head;
 
}

ITEM* find_node(ITEM* head, float find_data)
{
    ITEM *cur;
    cur=head;
    while(cur!=NULL && cur->data<=find_data)
    {
        if(find_data-0.1<cur->data<find_data+0.1)
        {
            printf("Jelement najden\n");
            return cur;
        }
 
        cur=cur->next;
    }
    printf("Jelement ne najden \n");
    return NULL;
}

Решение задачи: «Удаление и поиск элемента в односвязном списке»

textual
Листинг программы
Вот элемент главной функции:
puts("Vvedite chislo");
            scanf("%f",&chislo);
            Head=delete_node(Head,chislo);
            getch();
            break;

Объяснение кода листинга программы

  1. Ввод числа с клавиатуры
  2. Вызов функции delete_node(Head,chislo)
  3. Удаление узла из списка
  4. Вывод на экран значения переменной chislo
  5. Получение следующего ввода с клавиатуры
  6. Вызов функции getch() для приостановки выполнения программы до нажатия клавиши
  7. Прерывание выполнения программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.444 из 5
Похожие ответы