创捷邻接矩阵
typedef struct
{
vextyp vex[maxsize];(typedef char vextyp)
arctyp arc[maxsize][maxsize];
int vexnum,arcnum;
}mgraph;
初始化
void creategraph(mgraph &g)
{
cout<<“请输入顶点个数,边的条数”<<endl;
cin>>g.vexnum>>g.arcnum;
cout<<“请输入顶点的名称”<<endl;
for(int i=0;i<g.vexnum;i++)
{
char c;
cin>>c;
g.vex[i]=c;
}
for(i=0;i<g.vexnum;i++)
{
for(int j=0;j<g.vexnum;j++)
g.arc[i][j]=0;
}
for(i=0;i<g.arcnum;i++)
{
char be,en;
cout<<"请输入边的信息(头,尾)"<<endl;
cin>>be>>en;
int r,c;
r=loc(g,be);
c=loc(g,en);
g.arc[r][c]=1;
}
}
loc代码(得到顶点的数组下标)
int loc(mgraph g,char c)
{
for(int i=0;i<g.vexnum;i++)
{
if(c==g.vex[i])
return i;
}
cout<<“error”<<endl;
return -1;
}