邻接表构建算法有哪些具体步骤?
- 内容介绍
- 文章标签
- 相关推荐
本文共计249个文字,预计阅读时间需要1分钟。
Status Create(ALGraph *G){ int i, j, k; char v1[20], v2[20]; ArcNode *p, *q; printf(请输入顶点数和边数:\n); scanf(%d%d, &G->vertices, &G->arcnum); for(i=0; i vertices; i++) { scanf(%s, G->vertices[i].data); G->vertices[i].firstarc=NULL; } for(k=0; k arcnum; k++) { scanf(%s%s, v1, v2); p=(ArcNode*)malloc(sizeof(ArcNode)); p->adjvex=findVertexIndex(G, v2); p->nextarc=G->vertices[findVertexIndex(G, v1)].firstarc; G->vertices[findVertexIndex(G, v1)].firstarc=p; q=(ArcNode*)malloc(sizeof(ArcNode)); q->adjvex=findVertexIndex(G, v1); q->nextarc=G->vertices[findVertexIndex(G, v2)].firstarc; G->vertices[findVertexIndex(G, v2)].firstarc=q; } return 1;}
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;
}
}
本文共计249个文字,预计阅读时间需要1分钟。
Status Create(ALGraph *G){ int i, j, k; char v1[20], v2[20]; ArcNode *p, *q; printf(请输入顶点数和边数:\n); scanf(%d%d, &G->vertices, &G->arcnum); for(i=0; i vertices; i++) { scanf(%s, G->vertices[i].data); G->vertices[i].firstarc=NULL; } for(k=0; k arcnum; k++) { scanf(%s%s, v1, v2); p=(ArcNode*)malloc(sizeof(ArcNode)); p->adjvex=findVertexIndex(G, v2); p->nextarc=G->vertices[findVertexIndex(G, v1)].firstarc; G->vertices[findVertexIndex(G, v1)].firstarc=p; q=(ArcNode*)malloc(sizeof(ArcNode)); q->adjvex=findVertexIndex(G, v1); q->nextarc=G->vertices[findVertexIndex(G, v2)].firstarc; G->vertices[findVertexIndex(G, v2)].firstarc=q; } return 1;}
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;
}
}

