Стек (структура от данни): Разлика между версии

Изтрито е съдържание Добавено е съдържание
BotNinja (беседа | приноси)
{{xxx-мъниче}} → {{мъниче|xxx}}
м ненужни интервали
 
Ред 24:
template<typename T>
class Stack {
int size; // големина на стека
int top; // позиция на пойнтъра към стека
T* values; // масив със стойности
 
public:
Stack(int size)
: size(size), top(0), values(new T[size]) {
}
}
~Stack() {
delete [] values;
}
}
 
void push(T value) { // записва нов елемент в стека
if (top >= size)
throw std::overflow_error("Стекът е пълен");
values[top] = value;
++top;
}
}
 
T pop() { // вади най-горния елемент от стека
if (top == 0)
throw std::underflow_error("Стекът е празен");
--top;
return values[top];
}
}
};
</syntaxhighlight>