return true;
}
Приклад виклику функції:
Data y; (Pop (& u, x))
{
y = x;
cout <<"y =" <
}
Додаткові дії зі стеком - роздруківка стека (можна взяти алгоритм для роботи з однозв'язний списком) і читання з вершини стека. Читання нагадує витяг, але при цьому дані з стека не видаляються. Ось можливий варіант реалізації:
bool Read (Stek ** u, Data & x)
{
if (* u == NULL)
{
cout <<"Pustoj stek" <
return false;
}
Stek * t = * u;
xa = t-> da;// Заповнення полів
return true;
}
Використання функції Read () може бути аналогічним використанню Pop ().
4.Опісаніе основних типів даних і функції для роботи з ними
Для організації зберігання, представлення даних у програмі використовуються 2 структури: Avto і Stek.
Структура Avto необхідна для опису всіх полів, які характеризують один автомобіль в гаражі. Вона має наступний вигляд:
Avto
{
char marka [10];
};
Структура Stek необхідна для організації стека. Вона має наступний вигляд:
struct Stek
{
Avto a;
Stek * next;
};
де
В· a - поле типу Avto, в якому зберігаються самі дані;
В· * next - покажчик на стек того ж типу, тобто Stek.
Для роботи зі стеками у програмі реалізовані всі необхідні методи:
В· void vvod (Avto & x) - введення даних
В· void Print (Stek * u) - функція друку
В· void dobavlenie (Stek ** u, Avto & x) - додавання нового запису в стек
В· bool Zabiraem (Stek ** u, Avto & x) - функція видалення елемента з стека
В· void vyezjaet_iz_garaja (Stek ** u) - функція виїзду автомобіля з гаража
В· void Clear (Stek ** u) - очищення всього стека
5.Лістінг програми
# include
<...