Спочатку в список добавляється елемент 10, потім 9, …. Тобто кожен наступний елемент добавляється на початок списку. Самий останній елемент буде на першому місці, тобто вийде зі списку самим першим. Стек – це список, що працює за принципом «перший зайшов – останній вийшов»
Процедуру void Add_stack(person *&elem,person *&stack) добавляє елемент elem на початок списку stack (elem->next = stack). Після цього необхідно направити вказівник stack на елемент elem, який є початком списку (stack = elem).
Черга.
Черга - це структура даних, у якій елемент, записаний першим, зчитують першим. Тут діє принцип "перший прийшов - перший пішов", добре відомий з побуту: черга у магазині тощо.
Чергу, як і стек, описують з використанням структури. Над елементами черги визначені операції: занесення елемента у чергу та забирати з черги. У черзі доступним є лише нижній елемент.
Приклад. Оголосимо нову структуру tsherga та два вказівники на цей тип
struct tsherga
{
char ch; .
stack *dali;
};
tsherga *tsh, "element;
У цьому випадку, наприклад, створити відповідну чергу tsh можна за допомогою функції:
tsherga *StvorytyTshergu(void)
{
char a;
element = new (tsherga);
// Запам'ятовуємо адресу першого елемента черги
pershij = element;
сіп >> а;
while(a != '.') // Поки не введена крапка
(
element->ch = а; // Заповнюємо елементи черги
element -> dali = new (tsherga);
element = element -> dali;
cin » a; // Вводимо наступну літеру
}
element = NULL; return pershij; }
Забирати елемент із черги можна за допомогою функції
void VyluchenniaZTshergu(tsherga *tsh)
{
while (tsh != NULL)
{
element = tsh;
cout<< element -> ch;
tsh = element -> dali;
Максимально допустимі розміри стека і черги - важливі характеристики реалізації мови програмування. Вони визначають коло задач, які можна розв'язати.