Базовые структуры данных. Список -------------------------------- * Склонировать репозиторий https://timp.pw/121/lab5_list.git (если репозиторий уже склонирован -- пропустить этот шаг ^_^) В этом задании необходимо дописать функции для работы с двусвязным списком. Двусвязный список -- структура данных, которая имеет вид Описание структуры данных в файле list.h Вам необходимо реализовать некоторые функции в файле ./list.c и пройти тесты (описанные в ./list_test.c). Команда для сборки проекта -- make Команда для запуска тестов -- make test * Необходимо реализовать следующие функции(короткое описание функций можно подсмотреть в list.h): list_clear list_push_front list_len Эти функции проверяет тест test_list_stage1 list_push_back list_get list_insert list_pop_front list_pop_back list_remove Эту функцию проверяет тест test_list_remove list_reverse Эту функцию проверяет тест test_list_reverse Для работы вам могут понадобится следующие библиотечные функции: * malloc(size_t size) -- функция, динамически выделяющая size байт и возвращающая указатель на выделенный кусок * realloc(void *ptr, size_t size) -- функция изменяющая размер выделенного куска памяти на вход принимает указатель на предыдущий выделенный кусок. возвращает укзаатель на заново выделенную память. Все предыдущие данные в ptr остаются без изменений