colas_filas/Cola.cpp

79 lines
1.2 KiB
C++

//
// Created by eduardo on 8/11/19.
//
#include "Cola.h"
Cola::Cola() {
front = nullptr;
current= nullptr;
temp= nullptr;
back= nullptr;
}
Cola::nodePtr Cola::take() {
temp = front;
front=front->next;
return temp;
}
void Cola::remove() {
nodePtr delPtr= front;
front=front->next;
delete delPtr;
}
const Cola::node *Cola::getFront() const {
return front;
}
void Cola::setFront(const Cola::node *front) {
Cola::front = const_cast<nodePtr>(front);
}
const Cola::node *Cola::getCurrent() const {
return current;
}
void Cola::setCurrent(const Cola::node *current) {
Cola::current = const_cast<nodePtr>(current);
}
const Cola::node *Cola::getTemp() const {
return temp;
}
void Cola::setTemp(const Cola::node *temp) {
Cola::temp = const_cast<nodePtr>(temp);
}
const Cola::node *Cola::getBack() const {
return back;
}
void Cola::setBack(const Cola::node *back) {
Cola::back = const_cast<nodePtr>(back);
}
void Cola::insert(int info) {
auto inserted = new node;
inserted->next= nullptr;
inserted->data=info;
if(front== nullptr){
front=inserted;
back=front;
} else{
temp=back;
temp->next=inserted;
back=inserted;
}
}
Cola::~Cola() {
delete front;
delete current;
delete temp;
delete back;
}