Implementación en java <Pila>
public class Nodo<tipo> { public tipo dato; private Nodo<tipo> siguiente; public Nodo(tipo Dato) { dato = Dato; siguiente = null; } public void conectar(Nodo<tipo> elSiguiente) { siguiente = elSiguiente; } public Nodo<tipo> getSiguiente() { return siguiente; } } public class Pila<tipo> { Nodo<tipo> cima; public Pila() { cima = null; } public int tamano() { Nodo<tipo> lectorAuxiliar = cima; int contadorDeDatos = 0; while (lectorAuxiliar != null) { contadorDeDatos++; lectorAuxiliar = lectorAuxiliar.getSiguiente(); } return contadorDeDatos; } public void apilar(tipo datoNuevo) { Nodo<tipo> nuevo = new Nodo<tipo>(datoNuevo); nuevo.conectar(cima); cima = nuevo; } public tipo desapilar() { tipo dato = cima.dato; cima = cima.getSiguiente(); return dato; } public tipo getCima() { return cima.dato; } public boolean estaVacia() { return cima == null; } public String toString() { Nodo<tipo> lectorAuxiliar = cima; String respuesta = "IN/OUT <->"; while (lectorAuxiliar != null) { respuesta += " [" + lectorAuxiliar.dato.toString() + "] "; lectorAuxiliar = lectorAuxiliar.getSiguiente(); } return respuesta; } }






No hay comentarios:
Publicar un comentario