#include "LinkedStack.h" /* LinkedNode function * */ LinkedNode::LinkedNode(LinkedNode *nxt, int e) { next = nxt; element = e; } LinkedNode::LinkedNode(int e) : LinkedNode(NULL,e) { } int LinkedNode::getElement() { return element; } LinkedNode* LinkedNode::getNext() { return next; } void LinkedNode::setElement(int e) { element = e; } void LinkedNode::setNext(LinkedNode *nxt) { next = nxt; } /* LinkedStack function * */ LinkedStack::LinkedStack() { stackSize = 0; head = NULL; } int LinkedStack::size() { return stackSize; } void LinkedStack::push(int o) { LinkedNode *node = new LinkedNode(head, o); head = node; stackSize++; } int LinkedStack::pop() { if(size()==0) return -1; LinkedNode *node = head; head = head->getNext(); int ptr = node->getElement(); delete node; stackSize--; return ptr; } int LinkedStack::top() { return head->getElement(); }