数据结构(C语言)-07-图-由依次输入的顶点数目,弧数目,和各个弧信息建立有向图的邻接表

版权声明:转载请注明出处 https://blog.csdn.net/nanhuaibeian/article/details/81843634

int LocateVex(AdjList G,VertexData x)/求顶点位置函数*/
{
int j=0,k;
for(k=0;kvexnum,k++)
if(G-vertex[k]==x)
{
j=k;break;
}
return(j);
}

int CreatDN(AdjList G)/创建一个有向图*/
{
int i,j,k;
ArcNode *s;
scanf(“%d,%d”,&G->vexnum,&G->arcnum);/输入图的顶点数和弧数/
for(i=0;ivexnum;i++)/输入图的顶点/
{
scanf(“%c”,&G->vertex[i].data);
G->vertex[i].firstarc=Null;
}
for(k=0;karcnum;k++)
{
scanf(“%c,%c,%d”,&v1,&v2,&weight);/输入一条弧及权值/
i=LocateVex(G,v1);
j=LocateVex(G,v2);
s=(ArcNode *)malloc(sizeof(ArcNode));
s->adjvex=j;
s->info=weight;
/采用头插法建立有向图/
s->nextarc=G->vertex[i].firstarc;
G-vertex[i].firstarc=s;
}
return(ok);
}

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/81843634