1.节点
public class CVertex
{
#region Fields
private bool m_bIsVisited;
public bool IsVisited
{
get { return m_bIsVisited; }
set { m_bIsVisited = value; }
}
private string m_strName;
public string Name
{
get { return m_strName; }
set { m_strName = value; }
}
#endregion
}
public class CGraph
{
#region Fields
private List<CVertex> m_lstVertex = new List<CVertex>();
public List<CVertex> Vertexs
{
get { return m_lstVertex; }
set { m_lstVertex = value; }
}
private List<List<int>> m_lstMatrix = new List<List<int>>();
public List<List<int>> Matrix
{
get { return m_lstMatrix; }
set { m_lstMatrix = value; }
}
#endregion
}
#region Construction
public CGraph(int iVertexCount)
{
for (var iIndex = 0; iIndex < iVertexCount; iIndex++)
{
var lstRow = new List<int>();
for (var iRowIndex = 0; iRowIndex < iVertexCount; iRowIndex++)
{
lstRow.Add(0);
}
this.m_lstMatrix.Add(lstRow);
}
}
#endregion
#region 构造图
public void AddVertex(string strName)
{
//TODO:判断当前节点是否不符合m_iVertexCount
this.m_lstVertex.Add(new CVertex() { Name = strName });
}
public void AddEdge(int iStartVertexIndex, int iEndVertexIndex)
{
//TODO:校验iStartVertexIndex,iEndVertexIndex
this.m_lstMatrix[iStartVertexIndex][iEndVertexIndex] = 1;
}
public void ShowVertex(int iVertexIndex)
{
//TODO:校验iVertexIndex
Console.WriteLine(this.m_lstVertex[iVertexIndex] + " ");
}
#endregion
浙公网安备 33010602011771号