当前位置 : 主页 > 编程语言 > c语言 >

邻接表的建立算法

来源:互联网 收集:自由互联 发布时间:2023-09-03
Status Create(ALGraph *G){int i,j,k;char v1[20],v2[20];ArcNode *p,*q;printf("请输入顶点数和边数:");scanf("%d%d",G-vertices,G-arcnum);for(i=0;iG-vexnum;i++){scanf("%s",G-vertices[i].data);G-vertices[i].firstarc=NULL;}for(k=0;kG-ar
Status Create(ALGraph *G)
{
	int i,j,k;
	char v1[20],v2[20];
	ArcNode *p,*q;
	printf("请输入顶点数和边数:");
	scanf("%d%d",&G->vertices,&G->arcnum);
	for(i=0;i<G->vexnum;i++)
	{
		scanf("%s",G->vertices[i].data);
		G->vertices[i].firstarc=NULL;
	}
	for(k=0;k<G->arcnum;k++)
	{
		scanf("%s%s",v1,v2);
		i=LocateVex(*G,v1);
		j=LocateVex(*G,v2);
		p=(ArcNode*)malloc(sizeof(ArcNode));
		p->nextarc=G->vertices[i].firstarc;
		G->vertices[i].firstarc=p;
		p->adjvex=j;
		
		q=(ArcNode*)malloc(sizeof(ArcNode));
		q->nextarc=G->vertices[j].firstarc;
		G->vertices[j].firstarc=q;
		q->adjvex=i;
	}
}
上一篇:C语言函数大全-- _w 开头的函数(3)
下一篇:没有了
网友评论