Свързан стек. Основни операции
typedef int INFO_TYPE;
struct stack_el{
INFO_TYPE info;
stack_el *link;
};
//Функция за добавяне на елемент
void push(stack_el **t, INFO_TYPE x)
//Указателят към върха на стека трябва да се промени, затова се използва //kонструкцията **t
{
stack_el *p;
if((p = new stack_el) == NULL){
cout<<”\nНяма свободна памет.\n”;
exit(1);
}
p->info = x;
p->link = *t;
*t = p;
}
INFO_TYPE pop(stack_el **t)
{
stack_el *p;
INFO_TYPE x;
if(*t == NULL){
cout<<”\nСтекът е празен.\n”;
exit(1);
}
p = *t;
*t = p->link;
x = p->info;
return x;
}
void main()
{
INFO_TYPE y;
stack_el *stack = NULL;
y = 3.14;
push(&stack, y);
//…………………
y = pop(&stack);
y = pop(&stack); //Стекът е празен.
}
Сходни статии:
- Свързана опашка. Основни операции в C++ Указателят F сочи особен елемент със същата структура като останалите елементи в опашката, като в полето му link се съдържа указател към първия елемент на опашката. Празна опашка – F...
- Пример за обектно ориентирана реализация на свързан стек Ще се възползваме от тясната връзка между св. списъци и стекове чрез повторно използване на класа на списъците. Ще приложим 2 разновидности на повторното използване. Отначало ще реализираме класа на...
- Търсене на нов елемент по ключ и добавяне на нов елемент в свързан списък void search ( student *first, unsigned key, float value ) // студент с ф. № key и с value се задава новия му успех { student *ptr = first; while...
- Пример за обектно – ориентирана реализация на свързан списък В примера се използва шаблон на класа List за обработка на списък от данни от цял тип и списък от данни с плаваща точка. Програма driver дава възможност да се...
- Програмиране и използване на компютри. Програмиране на С++ Условие на задачата: Дадени са четири таблици,в които са записани цели шест цифрени положителни числа. Таблиците имат M реда и N колони(3 ≤ M≤10 и 3≤ N≤5).Напишете програма, с която...