ВУЗ:
Составители:
Рубрика:
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. Определения и объяснения, используемых предикатов и функций
сравнения.
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. Определения и объяснения, используемых предикатов и функций сравнения.