Exemple #1
0
        /**
         * Add os nodos e arestas no grafo
         * @param no1
         * @param no2
         * @param peso
         */
        public void AddNoEAresta(No no1, No no2, int peso)
        {
            if (nodosHashMap.ContainsKey(no1.id))
            {
                no1 = nodosHashMap.GetValueOrDefault(no1.id);
            }
            else
            {
                nodosList.Add(no1);
                nodosHashMap.Add(no1.id, no1);
            }

            if (nodosHashMap.ContainsKey(no2.id))
            {
                no2 = nodosHashMap.GetValueOrDefault(no2.id);
            }
            else
            {
                nodosList.Add(no2);
                nodosHashMap.Add(no2.id, no2);
            }

            Aresta aresta = new Aresta(no1, no2, peso);

            arestasList.Add(aresta);                // Add a aresta na lista
            no1.addNoAdj(aresta);                   // Add a lista da matriz de adjacencia no no1
            no2.addNoAdj(aresta);                   // adicionar a matriz de lista de adjacência para no2
        }
Exemple #2
0
 public void addNoAdj(Aresta adj)
 {
     this.listaArestasAdj.Add(adj);
 }