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

3. Динаміка вмісту стеку(або масиву)

3.1. Задаємо вхідну послідовність 10 цілих чисел: (1, 2),(1,-6), (1, -7), (1, 4), (2, 13),

(2, 16),(2,9),(1,7)(2, 4),(2, 17).

3.2. Схематичне зображення масиву після обробки кожного числа з вхідної послідовності

Порожній стек

push(2);

pop( );

pop( );

Втрата значимості стеку!

push (4);

push (13);

push (16);

push (9);

push (7);

push (4);

push (13);

Переповнення стеку!

3.3. Зміна вмісту стеку згідно умови індивідуального завдання

4. Алгоритм розв’язання задачі

ШАБЛОННИЙ ПАРАМЕТР, ОПЕРАТОРИ ПЕРЕІМЕНОВАННЯ ТИПІВ ТА КОНСТАНТНІ ЧЛЕНИ класу Stack<T>

Шаблонний параметрTпредтставляє собою тип елементів, що зберігаються у стеку.

Він може бути довільним вбудованим типом в мові С++ а також структурою, класом (в якому визначений конструктор по замовчуванню),конструктор копіювання і оператор присвоєння.

Stack<T>:: CAPACITY предтаставляє максимальну кількість елементів довільного стеку (як тільки ця кількість буде досягнута, додавання елементів у стек припиняється).

КОНСТРУКТОР ШАБЛОННОГО КЛАСУ Stack<Т>

Stack()

Післяумова: стек ініціалізується порожнім

МОДИФІКУЮЧІ ФУНКЦІЇ-ЧЛЕНИ шаблонного класу stack<Item>:

voidpush(constinti, constT &k)

Передумова: стек не є повним.

Післяумова: в стек занесена нова копія елемента.

voidpop(constinti )

Передумова: стек не є порожнім.

Післяумова: вилучена вершина стека.

КОНСТАНТНІ ФУНКЦІЇ-ЧЛЕНИ шаблонного класу Stack<T>:

Ttop(constinti) const

Передумова: стек не є порожнім.

Післяумова: повертається вершина стека, однак стек при цьому не змінюється.

boolempty(inti ) const

Післяумова: повертає значення true, якщо стек порожній,і значення false, якщо це не так.

5. Результати виконання програми

11

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