CLASE COLA
public class Cola {
Nodo inicio;
Nodo fin;
public Cola() {
}
public Cola(Nodo inicio, Nodo fin) {
[Link] = inicio;
[Link] = fin;
}
public Nodo getInicio() {
return inicio;
}
public void setInicio(Nodo inicio) {
[Link] = inicio;
}
public Nodo getFin() {
return fin;
}
public void setFin(Nodo fin) {
[Link] = fin;
}
//Método COLA VACIA
public boolean esVacia(){
return inicio == null;
}
//Método Push (ENCOLAR)
public void encolar(int valor){
Nodo nuevo = new Nodo();
[Link](valor);
if (esVacia()) {
inicio = nuevo;
fin = nuevo; }
else{
[Link](nuevo);
fin = nuevo;
}
}
//Método Pop (DESENCOLAR)
public int desencolar () {
if (!esVacia())
{ int dato = [Link]();
if (inicio == fin){
inicio = null;
fin = null;
} else {
inicio = [Link]();
}
return dato;
} else {
return Integer.MAX_VALUE;
}
}
CLASE NODO
public class Nodo {
int dato;
Nodo siguiente;
public Nodo() {
}
public Nodo(int dato, Nodo siguiente) {
[Link] = dato;
[Link] = siguiente;
}
public int getDato() {
return dato;
}
public void setDato(int dato) {
[Link] = dato;
}
public Nodo getSiguiente() {
return siguiente;
}
public void setSiguiente(Nodo siguiente) {
[Link] = siguiente;
}
@Override
public String toString() {
return "Nodo{" + "dato=" + dato + ", siguiente=" + siguiente + '}';
}
CLASE PILA
public class Pila {
Nodo fin;
public Pila() {
}
public Pila(Nodo fin) {
[Link] = fin;
}
public Nodo getFin() {
return fin;
}
public void setFin(Nodo fin) {
[Link] = fin;
}
//Método PILA VACIA
public boolean esVacia(){
return fin == null;
}
//Método Push (APILAR)
public void apilar(int valor){
Nodo nuevo = new Nodo();
[Link](valor);
if (esVacia()) {
fin = nuevo;
}
else{
[Link](fin);
fin = nuevo;
}
}
//Método Pop (DESAPILAR)
public int desapilar () {
if (!esVacia()) {
int dato = [Link]();
fin = [Link]();
return dato;
}
else
{ return Integer.MAX_VALUE;
}
}
}