Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR4.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
564 Кб
Скачать
☆

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. Результати виконання програми

11

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]