Разработать шаблонный класс List, реализующий структуру данных «двусвязный список». Данный класс должен обеспечивать хранение данных любого типа _DataType (включая пользовательские) и реализовывать следующие методы:
1. Конструкторы:
1.1. Конструктор по умолчанию.
1.2. Конструктор, принимающий количество элементов (создает список с помощью конструкторов по умолчанию для элементов).
1.3. Конструктор, принимающий количество элементов и значение, инициализирующее элементы списка.
1.4. Конструктор, принимающий интервал [beg, end), заданный итераторами.
1.5. Конструктор, принимающий список инициализации std::initializer_list.
1.6. Копирующий конструктор.
1.7. Конструктор переноса.
2. Функции-операции:
2.1. Операция присваивания с копированием.
2.2. Операция присваивания с переносом.
3. Методы:
3.1. begin() – возвращает итератор на начало списка.
3.2. end() – возвращает итератор на элемент, следующий за последним.
3.3. pushBack(elem) – добавляет копию аргумента elem в конец списка.
3.4. popBack() – удаляет последний элемент.
3.5. pushFront(elem) – вставляет копию аргумента elem в начало списка.
3.6. popFront() – удаляет первый элемент.
3.7. insert(pos, elem) – вставляет копию элемента elem перед позицией итератора pos и возвращает позицию нового элемента.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |