функция вставки

#c #insert

#c #вставить

Вопрос:

У меня есть проблема с домашним заданием, где я должен: Написать функцию вставки, которая вставляет элемент на первую позицию в списке после элемента, хранящего определенный элемент ДАННЫХ. Я также должен использовать эту функцию. Я не понимаю, в чем проблема. Может ли кто-нибудь объяснить мне эту проблему в терминах, которые легче понять?

 #include "list.h"

LINK lookup(DATA c, LINK head)
{

if (head == NULL)
   return NULL;
else if ( c == head -> d)
        return head;
     else 
        return (lookup(c, head -> next));
}
  

Ответ №1:

Вопрос заключается в том, чтобы попросить вас написать функцию, которая находит указанный элемент в списке, а затем вставляет новый элемент в список после этой позиции.

Итак, учитывая список

 List = {Item1, Item2, Item3, Item4}
  

Ваша функция List.Insert(Item2, Item5) (например) должна приводить к

 List = {Item1, Item2, Item5, Item3, Item4}
  

Ответ №2:

У вас есть связанный список. Список состоит из LINK структур (если быть более точным, похоже, что LINK тип определен как указатель на фактические структуры узла. У нас нет определения перед нами, но, по-видимому, каждая LINK структура содержит DATA struct, а также обычный связывающий указатель (указатели).

Ваша задача состоит в том, чтобы взять заголовок списка LINK и DATA структуру и выполнять поиск по списку, пока не найдете первый, LINK который имеет DATA значение, идентичное тому, которое вам дано. Затем вставьте новый элемент в список непосредственно перед этим LINK .

Ответ №3:

Вас попросят найти DATA c в связанном списке (функция lookup( ) сделает это за вас), затем вставьте DATA элемент между c и DATA следующим c элементом. Если c это последний DATA элемент в списке, то вы должны добавить свой новый DATA элемент в качестве последнего DATA элемента. Если список пуст, т.е. если lookup( ) возвращается NULL , то ваш новый DATA элемент должен быть сохранен как единственный DATA элемент в списке.

Почему бы не опубликовать соответствующую часть list.h , чтобы мы могли понять, как выглядит связанный список?

Также было бы неплохо опубликовать всю lookup( ) функцию целиком.

Комментарии:

1. Единственное, чего не хватает в lookup() функции, это закрывающего ‘ } ‘.