C语言数据结构_图的创建
作者:互联网
邻接表存储结构的图的代码描述
CreatGraph(int n, VNode G[] ){
int i, e;
ArcNode *p, *q;
printf("Input the information of the vertex\n");
for(i=0; i<n; i++){
Getdata(G[i]); //得到每个顶点中的数据
G[i].firstarc = NULL; //初始化第一条边为空
}
for(i=0; i<n; i++){
printf("Creat the edges for the %dth vertex\n", i);
scanf("%d", &e); //输入边指向的顶点下标
while(e != -1){
p = (ArcNode *)malloc(sizeof(ArcNode)); //创建一条边
p->next = NULL; //链表结点的next域置NULL
p->adjvex = e; //将该边指向顶点的信息赋值给adjvex
if(G[i].firstarc == NULL) G[i].firstarc = p; //i结点的第一条边
else q->next = p; //下一条边
q = p;
scanf("%d", &e);
}
}
}
创建图1-34所示的邻接表结构,通过下面的代码实现
main()
{
VNode G[3];
CreatGraph(3, G);
}
标签:NULL,int,创建,VNode,C语言,next,adjvex,CreatGraph,数据结构 来源: https://www.cnblogs.com/zonkidd/p/15982347.html