#include "LinkedList.h" /* LinkedNode functions * */ 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; } /* LinkedList functions * */ LinkedList::LinkedList() { listSize = 0; head = NULL; } int LinkedList::size() { return listSize; } void LinkedList::insertFirst(int o) { LinkedNode *node = new (nothrow) LinkedNode(head, o); head = node; listSize++; } void LinkedList::insertAfter(LinkedNode *prev, int o) { LinkedNode *node = new (nothrow) LinkedNode(prev->getNext(), o); prev->setNext(node); listSize++; } int LinkedList::deleteFirst() { if(size()==0) return -1; LinkedNode *node = head; head = head->getNext(); int o = node->getElement(); delete node; listSize--; return o; } int LinkedList::deleteAfter(LinkedNode *prev) { LinkedNode *node = prev->getNext(); prev->setNext(node->getNext()); int o = node->getElement(); delete node; listSize--; return o; } int LinkedList::valueAt(int pos) { if(pos >= size() ) return -1; LinkedNode *curr = head; for(int i=0; igetNext() ) ; return curr->getElement(); }