public void QuitarNodoPosicion(int numero) { if (NodoInicial != null) { if (NodoInicial.Numero == numero) //Si es el numero del primero { QuitarPrimerNodo(); } else { NodoSimple unNodoUltimo = new NodoSimple(); unNodoUltimo = BuscarNodoUltimo(NodoInicial); if (unNodoUltimo != null && unNodoUltimo.Numero == numero) //Si resulta ser el Id del ultimo { QuitarUltimoNodo(); } else // Se quiere borrar un nodo intermedio { NodoSimple unNodoAnteriorAlElegido = new NodoSimple(); unNodoAnteriorAlElegido = BuscarAnteriorNodo(NodoInicial, numero); if (unNodoAnteriorAlElegido != null) { unNodoAnteriorAlElegido.Siguiente = unNodoAnteriorAlElegido.Siguiente.Siguiente; } } } } }
public void QuitarPrimerNodo() { if (NodoInicial != null) { NodoInicial = NodoInicial.Siguiente; } }
public void AgregarDespuesDelSeleccionado(NodoSimple unNodo, string detalle, string dato2, string dato3, string dato4) { NodoSimple unNodoPosterior = unNodo.Siguiente; NodoSimple unNodoNuevo = new NodoSimple(); unNodoNuevo.Numero = ProximoNumeroNodo(); unNodoNuevo.Detalle = detalle; unNodoNuevo.Dato2 = dato2; unNodoNuevo.Dato3 = dato3; unNodoNuevo.Dato4 = dato4; unNodo.Siguiente = unNodoNuevo; if (NodoInicial == null) { NodoInicial = unNodoNuevo; } else { //si hay elementos en la lista, tenemos que agregarlo entre el inicial y el siguiente // NodoSimple nodoAnterior = BuscarAnteriorNodo(NodoInicial, ); //BuscarNodoUltimo(NodoInicial); unNodoNuevo.Siguiente = unNodoPosterior; ; } }
public bool Eliminar(T t) { NodoSimple <T> n = Inicio; NodoSimple <T> nAnterior = null; while (n != null) { if (n.Dato.Equals(t)) { if (nAnterior == null) { nAnterior = Inicio; } nAnterior.Enlace = n.Enlace; } else { nAnterior = n; } n = n?.Enlace; } return(false); }
public ListaEnlazada <T> Agregar(T t) { NodoSimple <T> nuevo = new NodoSimple <T>(t); nuevo.Enlace = Inicio; Inicio = nuevo; return(this); }
public void AgregarNodoAlFinal(string detalle, string dato2, string dato3, string dato4) { NodoSimple unNodo = new NodoSimple(); unNodo.Numero = ProximoNumeroNodo(); unNodo.Detalle = detalle; unNodo.Dato2 = dato2; unNodo.Dato3 = dato3; unNodo.Dato4 = dato4; NodoSimple nodoUltimo = BuscarNodoUltimo(NodoInicial); nodoUltimo.Siguiente = unNodo; }
public void QuitarUltimoNodo() { NodoSimple nodoAnteultimo = new NodoSimple(); nodoAnteultimo = BuscarNodoAnteultimo(NodoInicial); if (nodoAnteultimo == null) { NodoInicial = null; } else { nodoAnteultimo.Siguiente = null; } }
private NodoSimple BuscarNodoUltimo(NodoSimple unNodo) { if (unNodo == null) { return(null); } if (unNodo.Siguiente == null) { return(unNodo); } else { return(BuscarNodoUltimo(unNodo.Siguiente)); } }
private NodoSimple BuscarAnteriorNodo(NodoSimple unNodo, int numero) { if (unNodo.Siguiente != null && unNodo.Siguiente.Numero == numero) { return(unNodo); } else { if (unNodo.Siguiente != null) { return(BuscarAnteriorNodo(unNodo.Siguiente, numero)); } else { return(null); } } }
private int BuscarIdMaximoNodo(NodoSimple unNodo, int numero) { int numIdMaximoNodo; if (unNodo.Numero > numero) { numIdMaximoNodo = unNodo.Numero; } else { numIdMaximoNodo = numero; } if (unNodo.Siguiente == null) { return(numIdMaximoNodo); } else { return(BuscarIdMaximoNodo(unNodo.Siguiente, numIdMaximoNodo)); } }
//public NodoSimple NodoPosicion = null; public void AgregarNodoAlInicio(string detalle, string dato2, string dato3, string dato4) { NodoSimple unNodo = new NodoSimple(); unNodo.Numero = ProximoNumeroNodo(); unNodo.Detalle = detalle; unNodo.Dato2 = dato2; unNodo.Dato3 = dato3; unNodo.Dato4 = dato4; if (NodoInicial == null) { NodoInicial = unNodo; } else { //si hay elementos en la lista, tenemos que agregarlo entre el inicial y el siguiente NodoSimple aux = NodoInicial; NodoInicial = unNodo; NodoInicial.Siguiente = aux; } }
public override object ejecutarSinposicion(ZContenedor e) { NodoSimple nodo = new NodoSimple(a => Dbms.crearTabla(nombreTabla, encabezados, e)); return(nodo.ejecutar(e)); }
public NodoSimple(T t, NodoSimple <T> n) { Dato = t; Enlace = n; }
public NodoSimple(T t) { Enlace = null; Dato = t; }
public ListaEnlazada() { Inicio = null; }