форматирование ридмихи

This commit is contained in:
dzruyk
2023-04-22 02:24:04 +03:00
parent 3c46bd19d6
commit daae42bfd8

View File

@@ -3,7 +3,7 @@
* Склонировать репозиторий https://timp.pw/121/lab6_list.git * Склонировать репозиторий https://timp.pw/121/lab6_list.git
В этом задании необходимо дописать функции для работы с двусвязным списком. В этом задании необходимо дописать функции для работы с двусвязным списком.
Двусвязный список -- структура данных, которая имеет вид Двусвязный список -- структура данных, которая имеет вид:
```c ```c
struct list_node { struct list_node {
@@ -12,19 +12,17 @@ struct list_node {
} }
``` ```
Где поля **next** и **prev** указывают на следующий и предыдущий элементы списка. Где поля **next** и **prev** указывают на следующий и предыдущий элементы списка.
При этом если предыдущего или следующего элемента списка не существует, указатель должен быть равен **NULL** При этом если предыдущего или следующего элемента списка не существует, указатель должен быть равен **NULL**.
Описание структуры данных в файле list.h Описание структуры данных в файле `list.h`
Вам необходимо реализовать некоторые функции в файле ./list.c Вам необходимо реализовать некоторые функции в файле `./list.c`
и пройти тесты (описанные в ./list_test.c). и пройти тесты (описанные в `./list_test.c`).
Команда для сборки проекта -- make
Команда для запуска тестов -- make test
* Необходимо реализовать следующие функции(короткое описание функций можно * Необходимо реализовать следующие функции(короткое описание функций можно
подсмотреть в list.h): подсмотреть в `list.h`):
```
list_clear list_clear
list_push_front list_push_front
list_len list_len
@@ -40,13 +38,18 @@ struct list_node {
Эту функцию проверяет тест test_list_remove Эту функцию проверяет тест test_list_remove
list_reverse list_reverse
Эту функцию проверяет тест test_list_reverse Эту функцию проверяет тест test_list_reverse
```
## Дополнительная информация
* Команда для сборки проекта -- **make**
* Команда для запуска тестов -- **make test**
Для работы вам могут понадобится следующие библиотечные функции: Для работы вам могут понадобится следующие библиотечные функции:
* malloc(size_t size) -- функция, динамически выделяющая size байт и возвращающая * `malloc(size_t size)` -- функция, динамически выделяющая size байт и возвращающая
указатель на выделенный кусок указатель на выделенный кусок
* realloc(void *ptr, size_t size) -- функция изменяющая размер выделенного куска памяти * `realloc(void *ptr, size_t size)` -- функция изменяющая размер выделенного куска памяти
на вход принимает указатель на предыдущий выделенный кусок. на вход принимает указатель на предыдущий выделенный кусок.
возвращает укзаатель на заново выделенную память. возвращает укзаатель на заново выделенную память.
Все предыдущие данные в ptr остаются без изменений Все предыдущие данные в ptr остаются без изменений