public NODO <T> Desapilar() { NODO <T> nodoDesapilado; nodoDesapilado = ultimoNodo; nodoActual = primerNodo; if (ultimoNodo == primerNodo) { nodoDesapilado = primerNodo; primerNodo = null; ultimoNodo = null; } else { for (int i = 0; i < cantidad; i++) { if (nodoActual.ProximoNodo == ultimoNodo) { ultimoNodo = nodoActual; nodoActual.ProximoNodo = null; } } } cantidad--; return(nodoDesapilado); }
public NODO <T> Desencolar() { NODO <T> nodoDesapilado; nodoDesapilado = ultimoNodo; nodoActual = primerNodo; if (ultimoNodo == primerNodo) { nodoDesapilado = primerNodo; cantidad--; primerNodo = null; ultimoNodo = null; } else { nodoDesapilado = primerNodo; for (int i = 0; i < cantidad; i++) { nodoActual.Posicion--; nodoActual = nodoActual.ProximoNodo; } cantidad--; } return(nodoDesapilado); }
public void AgregarPrimero(NODO <T> nuevoNodo) { if (cantidad <= 0) { nuevoNodo.ProximoNodo = null; primerNodo = nuevoNodo; ultimoNodo = nuevoNodo; cantidad++; } else { nuevoNodo.Posicion = primerNodo.Posicion; nuevoNodo.ProximoNodo = primerNodo; nodoActual = primerNodo; for (int i = 0; i < cantidad; i++) { nodoActual.Posicion++; if (nodoActual.ProximoNodo != null) { nodoActual = nodoActual.ProximoNodo; } } primerNodo = nuevoNodo; cantidad++; } Console.WriteLine("Se ha agregado un nuevo nodo a la lista.\nCantidad: " + cantidad.ToString()); }
public NODO <T> ObtenerUltimo(int index) { NODO <T> nodoPedido = null; if (ultimoNodo != null) { nodoPedido = ultimoNodo; } else { Console.WriteLine("\nLa lista no posee ningun nodo."); } return(nodoPedido); }
public void Encolar(NODO <T> nuevoNodo) { if (cantidad <= 0) { nuevoNodo.ProximoNodo = null; nuevoNodo.Posicion = cantidad; primerNodo = nuevoNodo; ultimoNodo = nuevoNodo; cantidad++; } else { nuevoNodo.ProximoNodo = null; nuevoNodo.Posicion = cantidad; ultimoNodo.ProximoNodo = nuevoNodo; ultimoNodo = nuevoNodo; cantidad++; } Console.WriteLine("Se ha agregado un nuevo nodo a la cola.\nCantidad: " + cantidad.ToString()); }
public NODO <T> Obtener(int index) { NODO <T> nodoPedido = null; nodoActual = primerNodo; for (int i = 0; i < cantidad; i++) { if (nodoActual.Posicion == index) { nodoPedido = nodoActual; //return nodoPedido; } else { nodoActual = nodoActual.ProximoNodo; } } if (nodoPedido == null) { Console.WriteLine("\nEl nodo pedido no existe."); } return(nodoPedido); }
public int Remover(int index) { nodoActual = primerNodo; for (int i = 0; i < cantidad; i++) { if (nodoActual.Posicion == index) { if (nodoActual.ProximoNodo != null) { nodoActual = nodoActual.ProximoNodo; nodoActual.Posicion--; } else { nodoActual = null; } } else { if (nodoActual.ProximoNodo.Posicion == index) { if (nodoActual.ProximoNodo.ProximoNodo != null) { nodoActual.ProximoNodo = nodoActual.ProximoNodo.ProximoNodo; nodoActual.ProximoNodo.Posicion--; nodoActual.ProximoNodo.ProximoNodo = null; } else { nodoActual.ProximoNodo = null; } } } } cantidad--; return(cantidad); }