邻接表构建算法有哪些具体步骤?

更新于
2026-10-10 05:23:49
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计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; } }