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

2.1 KiB
Raw Blame History

Базовые структуры данных. Вектор

  • Склонировать репозиторий 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 остаются без изменений