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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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

  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. Россия в годы либеральных реформ (60-90-е годы XIX века)
2. мира сего в устах Иисуса Христа емки и кратки
3. Инфаркт миокарда как социально значимая проблема
4. Асаблівасці індустрыялізацыя на тэрыторыі БССР
5. ЛІКУВАЛЬНА СПРАВА з предмету Догляд за хворими та медична маніпуляційна техніка Студента ки
6. на тему- Дееспособность и ее виды Студент заочного отделения
7. Земство в годы Первой мировой войны и революций 1917 года
8. Шкільна документація вчителя початкових класів
9. Изучение микробных сообществ при повышенном увлажнении в условиях модельного эксперимента
10. Загальна характеристика витрат на вирбництво продукції надання послуг Витрати виникають в процесі форму