public override bool Equals(object obj) { Arista <Informacion> aux = (Arista <Informacion>)obj; return(aux.origen.Equals(this.origen) && aux.destino.Equals(this.destino) && aux.peso.Equals(this.peso)); }
public void BorrarArista(Informacion v1, Informacion v2) { Arista <Informacion> aux = new Arista <Informacion>(v1, v2); if (Aristas.Pertenece(aux)) { Aristas.Borrar(aux); } }
public Arista <Informacion>[] ObtenerAristas() { Arista <Informacion> [] array = new Arista <Informacion> [GetNumeroAristas()]; Nodo <Arista <Informacion> > nodo = conjunto; for (int i = 0; i < GetNumeroAristas(); i++) { array[i] = nodo.darDato(); nodo = nodo.darSiguiente(); } return(array); }
public bool Pertenece(Arista <Informacion> e) { if (!EsVacio() && e != null) { Nodo <Arista <Informacion> > nodo = conjunto; while (nodo != null) { if (e.Equals(nodo.darDato())) { return(true); } nodo = nodo.darSiguiente(); } } return(false); }
public void Insertar(Arista <Informacion> e) { if (e != null) { Nodo <Arista <Informacion> > nodo = new Nodo <Arista <Informacion> >(e); if (EsVacio()) { conjunto = nodo; } if (!Pertenece(nodo.darDato())) { nodo.fijarSiguiente(conjunto); conjunto = nodo; } } }
public void Borrar(Arista <Informacion> e) { Nodo <Arista <Informacion> > aux = null; Nodo <Arista <Informacion> > nodo = conjunto; while (nodo.darSiguiente() != null) { if (e.Equals(nodo.darDato())) { aux.fijarSiguiente(nodo.darSiguiente()); } aux = nodo; nodo = nodo.darSiguiente(); } if (nodo.darSiguiente() == null && e.Equals(nodo.darDato())) { aux.fijarSiguiente(null); } }