Задание № 4736

Студент

Григорук Екатерина

Задача

Урезание списка

Состояние

Открыто

Назначено

24.11.2022, 09:22

Реализовать функцию удаления подсписка.

SList *slist_slice(SList *head, size_t start, size_t length,
                   void (*destruct)(void *data));

Возвращает часть списка, начинающуюся с индекса start и имеющую максимальную длину length. Остальные элементы списка должны быть освобождены. При этом для на каждый освобождаемый элемент вызывается функция по указателю destruct (в качестве аргумента ей передается element->data). Если destruct == 0, то никакой функции не вызывается.

Задача опирается на «Связанные списки».

Действия