Необходимо реализовать функции для работы с односвязным списком:
// инициализация пустого списка
void init(list *l);
// удалить все элементы из списка
void clean(list *l);
// проверка на пустоту списка
bool is_empty(list *l);
// поиск элемента по значению. вернуть NULL если эжемент не найден
node *find(list *l, int value);
// вставка значения в конец списка, вернуть 0 если успешно
int push_back(list *l, int value);
// вставка значения в начало списка, вернуть 0 если успешно
int push_front(list *l, int value);
// вставка значения после указанного узла, вернуть 0 если успешно
int insert_after(node *n, int value);
// удалить первый элемент из списка с указанным значением,
// вернуть 0 если успешно
int remove_node(list *l, int value);
// вывести все значения из списка в прямом порядке через пробел,
// после окончания вывода перейти на новую строку
void print(list *l);
Используя функции реализовать программу (смотрите скрин)
Пример входных и выходных данных скину отдельно
Программа должна проходить тесты splint и pipeline, без этого считаю работу не выполненной
Настройки pipeline скину отдельно
Оплату ставлю 500р, но за проект плачу 300р или около того, не через кейс, так уже делал, кидать никого не собираюсь