У вас вопросы?
У нас ответы:) SamZan.net

Ниже приведен интерфейс класса очереди с приоритетами который функционирует следующим образом

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

Необходимо выполнить ВСЕ задания.

  1.  Ниже приведен интерфейс класса очереди с приоритетами, который функционирует следующим образом.

В очередь могут быть добавлены элементы, каждому элементу при добавлении присваивается один из трех уровней приоритета (low, normal, high)

Элементы из очереди извлекаются в соответствии с их приоритетами (сначала извлекаются элементы с приоритетом high, потом normal, потом low), элементы с одинаковыми приоритетами извлекаются из очереди в порядки их поступления.

В очереди также может происходить операция акселерации – все элементы с приоритетом low находящиеся в момент акселерации в очереди увеличивают свой приоритет до high и «обгоняют» элементы с приоритетом normal.

Ниже приведен интерфейс этого класса:

typedef enum

{

   LOW,

   NORMAL,

   HIGH

} ElementPriority;

typedef struct

{

   string name;

} QueueElement;

class QueueWithPriority

{

   // Конструктор, создает пустую очередь

  QueueWithPriority();

   // Деструктор

  ~QueueWithPriority();

   // Добавить в очередь элемент element с приоритетом priority

   void PutElementToQueue(const QueueElement& element, ElementPriority priority);

   // Получить элемент из очереди

   // метод должен возвращать элемент с наибольшим приоритетом, который был

   // добавлен в очередь раньше других

   QueueElement GetElementFromQueue();

   // Выполнить акселерацию

   void Accelerate();

};

Реализовать этот класс, используя list или deque. Объяснить свой выбор.

Протестируете программу, добавьте отладочный вывод, показывающий, что  класс работает правильно.

  1.  Разработайте программу, которая
    1.  Заполняет list<int> 15 случайными значениями от 1 до 20, список может содержать от 0 до 20 значений (обязательно проверить на длине списка 0, 1. 2, 3, 4, 5, 7, 14)
    2.  Выводит содержимое списка в следующем порядке: первый элемент, последний элемент, второй элемент, предпоследний элемент, тритий элемент и т.д.

Например если список содержит:

1 2 3 4 5 6 7 8

то вывод будет иметь вид

1 8 2 7 3 6 4 5

Подсказка: можно использовать рекурсию и двунаправленные итераторы




1. Введение [3] Технологическая часть [3
2. Европеизация при Петре I
3. Количество стран- 23 Язык процедуры- РусскийПредседатель- Халяпин Андрей Эксперт- Павленко Константин
4. Обломов и обломовщина
5. Subject of Stylistics The term ldquo;stylisticsrdquo; originted from the Greek word ldquo;stylos~ which mens ldquo; penrdquo;
6. двойственная природа света
7. Три знаменитые классические задачи древности Выполнил- ученик 9 класса Д Иванов Иван Про
8. Символика компани
9. вспомогательного процесса в ходе которого закрепляется теоретические знания на производстве
10. Возведение надстроек Возведение мансард и надстроек является одним из самых популярных способов применен
11. Біологічні функції серинових протеїназ
12. тематики во 2 классе по теме- Уравнения вида x b
13. Лекция 14 Проблема человека в философии и науке
14. либо особенностей её движения и взаимодействия с другими телами В инерциальной системе отсчёта ускорение
15. экономического развития страны
16. Наш государственный строй говорил один из прославленных вождей афинской демократии Перикл не подражает
17. Статус верховной власти
18. тема эмулирующая аппаратное обеспечение некоторой платформы trget целевая или гостевая платформа и исп
19. Тема 1 ПУЛЬМОНОЛОГИЯ
20. Финансы хозяйствующих субъектов представляют собой экономические отношения возникающие в процессе форм