ВУЗ:
Составители:
Рубрика:
91
4. Для вставки и удаления элементов контейнера в программе № 2
использовать соответствующие операции, определенные в классе контей-
нера.
5. Для создания второго контейнера в программе № 3 можно исполь-
зовать либо алгоритм remove_copy_if, либо определить свой алгоритм
copy_if, которого нет в STL.
6. Для поиска элемента в коллекции можно использовать алгоритм
find_if, либо for_each, либо binary_search, если контейнер отсортирован.
7. Для сравнения элементов при сортировке по возрастанию исполь-
зуется операция <, которая должна быть перегружена в пользовательском
классе. Для сортировки по убыванию следует написать функцию comp и
использовать вторую версию алгоритма sort.
8. Условия поиска и замены элементов выбираются самостоятельно
и для них пишется функция-предикат.
9. Для ввода-вывода объектов пользовательского класса следует пе-
регрузить операции “>>” и “<<”.
10. Некоторые алгоритмы могут не поддерживать используемые в
вашей программе контейнеры. Например, алгоритм sort не поддерживает
контейнеры, которые не имеют итераторов произвольного доступа. В этом
случае следует написать свой алгоритм. Например, для стека алгоритм
сортировки может выполняться следующим образом: переписать стек в
вектор, отсортировать вектор, переписать вектор в стек.
10.При перемещении элементов ассоциативного контейнера в неас-
социативный перемещаются только данные (ключи не перемещаются). И
наоборот, при перемещении элементов неассоциативного контейнера в ас-
социативный должен быть сформирован ключ.
Содержание отчета
1. Титульный лист.
2. Постановка задач.
3. Определение пользовательского класса.
4. Определения используемых в программах компонентных функций
для работы с контейнером, включая конструкторы.
5. Объяснение этих функций.
6. Объяснение используемых в программах алгоритмов STL.
7. Определения и объяснения, используемых предикатов и функций
сравнения.