- •Лабораторна робота № 3 Структура даних стек
- •1. Мета роботи
- •2. Теоретичні відомості
- •3. Порядок виконання роботи
- •1. Мета роботи.
- •5. Завдання на лабораторну роботу
- •6. Вибір індивідуального завдання
- •8. Контрольні запитання
- •Постановка задачі
- •3. Динаміка вмісту стеку(або масиву)
- •4. Алгоритм розв’язання задачі
- •5. Результати виконання програми
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. Результати виконання програми
