#include #include "stack-le.h" //-------------------------------------------- // Construtor //-------------------------------------------- StackLE::StackLE() { top_ = 0L; } //-------------------------------------------- // Public Methods //-------------------------------------------- void StackLE::push(int n) { elemPilha *elemInserir = new elemPilha(top_, n); top_ = elemInserir; // struct elemPilha { // elemPilha *next_; int value_; // elemPilha(int v) { next_= 0L; value_=v; } // }; // elemPilha *elemInserir = new elemPilha(n); // elemInserir->next_ = top_; // top_ = elemInserir; } int StackLE::pop() { if( isEmpty() ) { std::cerr<<"\nErro: nao pode fazer pop em pilha vazia\n"; return -99999; //exit(-1); } elemPilha *elemRetirar = top_; top_ = top_->next_; int v = elemRetirar->value_; delete elemRetirar; return v; } int StackLE::top() { if( isEmpty() ){ std::cerr<<"\nErro: nao pode fazer top em pilha vazia\n"; return -99999; //exit(-1); } return top_->value_; }