Реализовать шаблонный класс, соответствующий варианту.
Перегрузить оператор <<, который помещает объект вашего класса в поток в удобочитаемом виде.
Работу методов класса следует проиллюстрировать в main.
MyBinaryTree
push(item) — добавляет элемент в дерево
Бинарное дерево — это упорядоченное дерево, каждая вершина которого имеет не более двух поддеревьев, причём для каждого узла выполняется правило: в левом поддереве содержатся только ключи, имеющие значения, меньшие, чем значение данного узла, а в правом поддереве содержатся только ключи, имеющие значения, большие, чем значение данного узла.
MyPriorityQueue
push(item) — добавляет элемент в очередь с учетом приоритета; pop() — берёт элемент из очереди с учетом приоритета и удаляет его; peek() — берёт элемент из очереди с учетом приоритета без удаления; size() — возвращает количество элементов в очереди.
Реализация на усмотрение студента, объяснить решение на защите.
MyDeck
push_back(item) — вставка нового элемента в конец; pop_back() — удаление последнего элемента; push_front(item) — вставка нового элемента в начало; pop_front() — удаление первого элемента; size() — количество элементов в деке.
Deque (double ended queue, «очередь с двумя концами») Реализуется на основе двусвязного списка.
<Номер в списке в таблице ЯП СКБ22*> mod 3
Пожалуйста, внимательно проверяйте свой вариант, выполнение не своего варианта не принимается!