- •Лабораторна робота № 4 Структура даних черга
- •1. Мета роботи
- •2. Теоретичні відомості
- •3. Порядок виконання роботи
- •1. Мета роботи.
- •5. Завдання на лабораторну роботу
- •6. Вибір індивідуального завдання
- •8. Контрольні запитання
- •Постановка задачі
- •3. Динаміка вмісту черги(або деку)
- •Умова не виконується!
- •4. Алгоритм розв’язання задачі
- •5. Результати виконання програми
3. Динаміка вмісту черги(або деку)
3.1. Задаємо вхідну послідовність 10 цілих чисел: 2, -4, -3, 3, 4, 7, -8, 8, 6, 6.
3.2. Схематичне зображення деку після обробки кожного числа з вхідної послідовності
Порожній дек
push_right (2);
pop_right( );
pop_left( );
Втрата значимості деку!
push_left (3);
push_right (4);
push_left (7);
pop_right ();
push_right (8);
push_right (6);
push_right (6);
Переповнення деку!
3.3. Перевірка умови
Чи є у деку три однакових числа, які йдуть підряд одне за одним?
Умова не виконується!
4. Алгоритм розв’язання задачі
ШАБЛОННИЙ ПАРАМЕТР, ОПЕРАТОРИ ПЕРЕІМЕНОВАННЯ ТИПІВ ТА КОНСТАНТНІ ЧЛЕНИ класу Queue<T>
Шаблонний параметрTпредтставляє собою тип елементів, що зберігаються у стеку.
Він може бути довільним вбудованим типом в мові С++ а також структурою, класом (в якому визначений конструктор по замовчуванню),конструктор копіювання і оператор присвоєння.
Queue<T>:: CAPACITY предтаставляє максимальну кількість елементів довільної черги (як тільки ця кількість буде досягнута, додавання елементів у чергу припиняється).
КОНСТРУКТОР ШАБЛОННОГО КЛАСУ Queue<Т>
Queue ()
Післяумова: черга ініціалізується порожньою
МОДИФІКУЮЧІ ФУНКЦІЇ-ЧЛЕНИ шаблонного класу Queue<Item>:
boolpush_left(const T & k);
Передумова: дек не є повним.
Післяумова: в дек занесена нова копія елемента.
boolpop_left();
Передумова: дек не є порожнім.
Післяумова: вилучається елемент з лівого кінця.
КОНСТАНТНІ ФУНКЦІЇ-ЧЛЕНИ шаблонного класу Queue<T>:
T front_left()const;
Передумова: дек не є порожнім.
Післяумова: повертається елемент лівого кінця, однак дек при цьому не змінюється.
boolempty() const;
Післяумова: повертає значення true, якщо дек порожній,і значення false, якщо це не так.
5. Результати виконання програми
