forked from 131/lab6_list
форматирование ридмихи
This commit is contained in:
25
README.md
25
README.md
@@ -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 остаются без изменений
|
||||||
|
|||||||
Reference in New Issue
Block a user