Skip to content

About

Учебный проект Яндекс.Практикума Улучшенный вектор

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Улучшенный вектор

Учебный проект Яндекс.Практикума

Разработан шаблонный класс вектор - аналог std::vector из стандартной библиотеки с++. Разработанный вектор автоматически увеличивает свой размер, эффективно работает с паметью.

Функциональность проекта

Конструкторы и деструктор:

• Конструктор по умолчанию: создаёт вектор с нулевым размером и вместимостью. Работает за O(1) и не вызывает исключений.

• Конструктор с заданным размером: инициализирует вектор указанного размера. Вместимость векотора равна его размеру. Элементы получают значение по умолчанию. Алгоритмическая сложность O(N), где N - размер вектора. Устойчив к исключениям.

• Копирующий конструктор: создаёт копию элементов исходного вектора. Вместимость равна размеру оригинала. Работает без исключений за O(размер исходного вектора).

• Перемещающий конструктор: выполняется за O(1) без исключений.

• Деструктор освобождает память за линейное время.

Доступные методы:

• Size: возвращает количество элементов, не вызывает исключений.

• Capacity: показывает текущую вместимость, не вызывает исключений.

• Reserve: устанавливает вместимость вектора, оптимизируя работу при известном количестве элементов.

• PushBack: добавляет элемент в конец вектора, увеличивая вместимость при необходимости.

• PopBack: удаляет последний элемент и уменьшает размер на единицу.

• EmplaceBack: вставляет элемент с улучшенной безопасностью исключений.

• Insert: вставляет элемент в указанную позицию.

• Emplace: аналогичен Insert, использует perfect forwarding.

• Erase: удаляет элемент по итератору.

Доступные операторы:

• Оператор копирующего присваивания. Линейное время зависящее от максильно задействованного размера вектора.

• Оператор перемещающего присваивания. Константное время без выбрасывания исключений.

• Оператор [ ] для доступа к элементу вектора по индексу.

Сборка и установка

Сборка из командной строки или с помощью любого IDE

Системные требования

c++17 и выше.

About

Учебный проект Яндекс.Практикума Улучшенный вектор

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages