colas_filas/Pila.cpp

61 lines
937 B
C++

//
// Created by eduardo on 9/11/19.
//
#include "Pila.h"
Pila::Pila() {
top= nullptr;
current= nullptr;
temp= nullptr;
}
void Pila::insert(int info) {
auto inserted = new node;
inserted->data = info;
if(top== nullptr){
top=inserted;
} else {
inserted->next = top;
top = inserted;
}
}
Pila::nodePtr Pila::take() {
temp=top;
top=top->next;
return temp;
}
void Pila::remove() {
nodePtr delPtr = top;
top=top->next;
delete delPtr;
}
Pila::~Pila() = default;
const Pila::node *Pila::getTop() const {
return top;
}
void Pila::setTop(const Pila::node *top) {
Pila::top = const_cast<nodePtr>(top);
}
const Pila::node *Pila::getCurrent() const {
return current;
}
void Pila::setCurrent(const Pila::node *current) {
Pila::current = const_cast<nodePtr>(current);
}
const Pila::node *Pila::getTemp() const {
return temp;
}
void Pila::setTemp(const Pila::node *temp) {
Pila::temp = const_cast<nodePtr>(temp);
}