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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 29.4.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. За период 2009 года в суде Московского района г
2. социология имеющая дело с природой степенью и причинами преступления; особенности преступников и их орга
3. тематически разрабатывавший теорию познания как спец
4. этажный кирпичный дом
5. Лабораторная работа ’1 Тема работы- Получение навыков работы в программе Microsoft Excel.html
6. Вопрос как форма мысли Виды вопроса
7. Экономика Англии и Франции в XIX и XX веках
8. Аудит история и современность
9.  Общая характеристика государственной измены и шпионажа
10. International Raw Materials Market