public void siguiente() { if (lc.dato != null) { lc = lc.enlace; } }
public ClsListaCircular insertar(string entrada) { NodoCircular nuevo; nuevo = new NodoCircular(entrada); if (lc != null) { //Lista no vacia nuevo.enlace = lc.enlace; lc.enlace = nuevo; } lc = nuevo; return(this); }
public void borrarLista() { NodoCircular p; if (lc != null) { p = lc; do { NodoCircular t; t = p; p = p.enlace; t = null; // no es estrictamente necesario } while (p != lc); } else { Console.WriteLine("\n\t Lista vacía."); } lc = null; }
public void eliminar(string entrada) { NodoCircular actual; bool encontrado = false; //Bucle de busqueda actual = lc; while ((actual.enlace != lc) && (!encontrado)) { encontrado = (actual.enlace.dato.Equals(entrada)); if (!encontrado) { actual = actual.enlace; } } encontrado = (actual.enlace.dato.Equals(entrada)); //Enlace de Nodo anterior con el siguiente if (encontrado) { NodoCircular p; p = actual.enlace; //Nodo a eliminar if (lc == lc.enlace) { lc = null; } else { if (p == lc) { lc = actual; //Se borra el elemento reclamado por lc } actual.enlace = p.enlace; } p = null; } }
public ClsListaCircular() { lc = null; }
public NodoCircular(string entrada) { dato = entrada; enlace = this; }