forked from 131/lab5_ivec
добавил тесты, обновил ридмиху
This commit is contained in:
45
README.md
Normal file
45
README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Базовые структуры данных. Вектор
|
||||
|
||||
* Склонировать репозиторий `https://timp.pw/121/lab4_ivec.git`
|
||||
(если репозиторий уже склонирован -- пропустить этот шаг ^_^)
|
||||
|
||||
В этом задании мы должны реализовать вектор для типа int.
|
||||
Вектор -- это динамический массив данных, который может менять свой размер
|
||||
в процессе работы.
|
||||
|
||||
Описание структуры данных ivector в файле `vector.h`
|
||||
|
||||
Вам необходимо реализовать некоторые функции в файле `./vector.c`
|
||||
и пройти тесты (описанные в `./vector_test.c`).
|
||||
|
||||
Команда для сборки проекта -- **make**
|
||||
Команда для запуска тестов -- **make test**
|
||||
|
||||
|
||||
* Необходимо реализовать следующие функции(короткое описание функций можно
|
||||
подсмотреть в `vector.h`):
|
||||
```
|
||||
vector_len
|
||||
vector_data
|
||||
vector_resize
|
||||
vector_initdata
|
||||
|
||||
vector_set
|
||||
vector_get
|
||||
vector_push
|
||||
vector_pop
|
||||
|
||||
vector_insert
|
||||
vector_del
|
||||
```
|
||||
|
||||
Для функций `vector_insert`, `vector_del` написать тесты в `vector_test.c`
|
||||
|
||||
Для работы вам могут понадобится следующие библиотечные функции:
|
||||
|
||||
* `malloc(size_t size)` -- функция, динамически выделяющая **size** байт и возвращающая
|
||||
указатель на выделенный кусок
|
||||
* `realloc(void *ptr, size_t size)` -- функция, изменяющая размер выделенного куска памяти
|
||||
на вход принимает указатель на предыдущий выделенный кусок.
|
||||
Функция возвращает указатель на заново выделенную память.
|
||||
Все предыдущие данные в `ptr` остаются без изменений
|
||||
Reference in New Issue
Block a user