Ciao, mi potreste aiutare per piacere? Devo progettare una matrice di adiacenza. Il codice che ho scritto e il seguente:
codice:
public class AdjacencyMatrix: Graph
{
protected ArrayList matrix;
private EA.Repository modelRepository; // progetto EA corrente
public AdjacencyMatrix(EA.Repository repository)
{
for (int i = 0; i < nodeList.Count; i++) //inizializzare le righe della matrice
{
matrix.Add(new ArrayList());
for (int j=0; j< nodeList.Count; j++)
{
((ArrayList)matrix[i]).Add(new ArrayList());
}
}
//inizializzazione dei nomi delle classi
for (int i = 0; i < matrix.Count; i++)
{
if (i == 0)
{
((ArrayList)this.matrix[i]).Add("");
foreach (Node node in nodeList)
{
((ArrayList)matrix[i]).Add(node.className);
}
}
//inizializzazione dei valori della matrice
for (int j = 1; j < ((ArrayList)matrix[i]).Count; j++)
{
for (int k = 1; k < ((ArrayList)((ArrayList)matrix[i])[j]).Count; k++)
((ArrayList)((ArrayList)matrix[i])[j])[k] = 0;
}
}
//definizione dell'esistenza del link
foreach (Link link in linkList)
{
for (int i = 0; i < matrix.Count; i++)
{
if (link.startNodeId.Equals((String)matrix[0]))
{
for (int j = 1; j < ((ArrayList)matrix[i]).Count; j++)
{
if (link.endNodeId.Equals((String)((ArrayList)matrix[0])[j]))
{
((ArrayList)matrix[0])[j] = 1;
break;
}
}
}
}
}
}
}
}
dove i nodelist e linklist, sarebbero i nodi e i link di mio interesse, nel mio caso i nodi soltanto le classi, componenti e package all'interno di un diagramma UML e i link solo di un certo tipo.
Andrebbe bene il codice scritto cosi?
Grazie mille per l'aiuto.