#include <stdio.h>
#include "Stack.h"
Stack::Stack()
{
head = NULL;
}
Stack::~Stack()
{
while (head != NULL)
{
StackElem *tmp = head;
head = head->next;
delete tmp;
}
}
void
Stack::Push(int x)
{
head = new StackElem(x, head);
}
int
Stack::Pop()
{
int value = head->data;
StackElem *oldTop = head;
head = head->next;
delete oldTop;
return value;
}