예제 #1
0
파일: Arista.cs 프로젝트: CabAMV/AI
        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));
        }
예제 #2
0
파일: Grafo.cs 프로젝트: CabAMV/AI
        public void BorrarArista(Informacion v1, Informacion v2)
        {
            Arista <Informacion> aux = new Arista <Informacion>(v1, v2);

            if (Aristas.Pertenece(aux))
            {
                Aristas.Borrar(aux);
            }
        }
예제 #3
0
파일: CjtA.cs 프로젝트: CabAMV/AI
        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);
        }
예제 #4
0
파일: CjtA.cs 프로젝트: CabAMV/AI
 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);
 }
예제 #5
0
파일: CjtA.cs 프로젝트: CabAMV/AI
        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;
                }
            }
        }
예제 #6
0
파일: CjtA.cs 프로젝트: CabAMV/AI
        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);
            }
        }