public void push(T dato) { nodo <T> nuevo = new nodo <T>(dato); if (!pilaVacia()) { nuevo.anterior = cima; cima.siguiente = nuevo; } cima = nuevo; }//push insertar
public bool agregar(T dato) { nodo <T> nuevo = new nodo <T>(dato); if (esta_vacia()) { inicio = nuevo; } else { fin.siguiente = nuevo; } fin = nuevo; cola++; return(true); }
public T obtener() { if (esta_vacia()) { return(default(T)); } else { nodo <T> aux = inicio; inicio = inicio.siguiente; cola--; if (cola == 0) { fin = null; } return(aux.dato); } }
public T pop() { T d; if (cima.anterior == null) { d = cima.dato; cima = null; } else { d = cima.dato; cima = cima.anterior; cima.siguiente.anterior = null; cima.siguiente = null; } return(d); }//pop eliminar
public Pila() { cima = null; siguiente = null; }