1
0
forked from 131/lab5_ivec
Files
lab5_ivec/README.md

45 lines
2.0 KiB
Markdown
Raw Normal View History

# Базовые структуры данных. Вектор
2025-11-14 23:03:58 +03:00
* Склонировать репозиторий `https://timplab.syktsu.ru/131/lab5_ivec.git`
В этом задании мы должны реализовать вектор для типа int.
Вектор -- это динамический массив данных, который может менять свой размер
в процессе работы.
Описание структуры данных ivector в файле `vector.h`
2022-04-16 03:34:45 +03:00
Вам необходимо реализовать некоторые функции в файле `./vector.c`
и пройти тесты (описанные в `./vector_test.c`).
Команда для сборки проекта -- **make**
Команда для запуска тестов -- **make test**
2022-04-16 03:34:45 +03:00
* Необходимо реализовать следующие функции(короткое описание функций можно
подсмотреть в `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`
2022-04-16 03:34:45 +03:00
Для работы вам могут понадобится следующие библиотечные функции:
* `malloc(size_t size)` -- функция, динамически выделяющая **size** байт и возвращающая
2022-04-16 03:34:45 +03:00
указатель на выделенный кусок
* `realloc(void *ptr, size_t size)` -- функция, изменяющая размер выделенного куска памяти
2022-04-16 03:34:45 +03:00
на вход принимает указатель на предыдущий выделенный кусок.
Функция возвращает указатель на заново выделенную память.
Все предыдущие данные в `ptr` остаются без изменений