public void transversa() { ClsNodos n = primero; string dt; while (n != null) { dt = n.dato; n = n.adelante; this.tam = this.tam + 1;//Obtenemos el tamaño de la Lista } }
public bool buscar(String ruta) { ClsNodos aux = primero; while (aux != null) { if (aux.dato.Equals(ruta)) { return(true); } aux = aux.adelante; } return(false); }
public ListaDobles insertarcabezaLista(string entrada) { ClsNodos nuevo; nuevo = new ClsNodos(entrada); nuevo.adelante = primero; if (primero != null) { primero.atras = nuevo; } primero = nuevo; tam++; return(this); }
public ClsNodos get_cancion(int index) { if (index < 0 || index >= tam) { return(null); } int n = 0; ClsNodos aux = primero; while (n != index) { aux = aux.adelante; n++; } return(aux); }
public void eliminarDoble(int entrada) { ClsNodos actual; actual = primero; ClsNodos open = buscarPosicion(entrada); bool encontrado = false; //bucle de busqueda while ((actual != null) && (!encontrado)) { encontrado = actual.dato == open.dato; if (!encontrado) { actual = actual.adelante; } } //enlace del nodo anterior con el siguiente if (actual != null) { //distinguir entre nodo cabeza del resto de la lista if (actual == primero) { primero = actual.adelante; if (actual.adelante != null) { actual.adelante.atras = null; } } else if (actual.adelante != null)///no es el ultimo nodo { actual.atras.adelante = actual.adelante; actual.adelante.atras = actual.atras; } else//ultimo nodo { actual.atras.adelante = null; } tam--; actual = null; } }
public ListaDobles eliminarNodos(string entrada) { ClsNodos actual = new ClsNodos(entrada); actual = primero; ClsNodos anterior = new ClsNodos(entrada); anterior = null; bool encontrado = false; while (actual != null && encontrado == false) { if (actual.dato == entrada) { if (actual == primero)//elimino la primer cancion { primero = primero.adelante; primero.atras = null; } else if (actual == ultimo)//elimino la ultima cancion { anterior.adelante = null; ultimo = anterior; } else//elimino cualquier cancion { anterior.adelante = actual.adelante; actual.adelante.atras = anterior; } MessageBox.Show("CANCION ELIMINADA"); tam--; encontrado = true; } anterior = actual; actual = actual.adelante; } if (!encontrado) { MessageBox.Show("CANCION NO ENCONTRADA"); } return(this); }
//inserta dobles public void InsertarNodo(String name) { ClsNodos nuevo; nuevo = new ClsNodos(name); if (primero == null) { primero = nuevo; primero.adelante = null; primero.atras = null; ultimo = primero; } else { ultimo.adelante = nuevo; nuevo.adelante = null; nuevo.atras = ultimo; ultimo = nuevo; } tam++; }
public ListaDobles() { primero = null; ultimo = null; tam = 0; }
public ClsNodos(string entrada) { this.dato = entrada; this.adelante = atras = null; }