struct Node
{
int data;
Node* next;
};
Node* top = NULL;
void Push(int x)
{
Node* tmp = (Node*)malloc(sizeof(Node));
tmp->data = x;
tmp->next = top;
top = tmp;
}
void Pop()
{
if(top == NULL)
return;
Node* tmp = top;
top = top->next;
delete tmp;
}
int Top()
{
if(top!=NULL)
return top->data;
}
void PrintStack()
{
if(top == NULL)
return;
Node* tmp = top;
while(tmp != NULL)
{
cout << tmp->data << " ";
tmp = tmp->next;
}
cout << endl;
}