ALGraph * CreateUDN(ALGraph *G)
// 邻接表建立无向网
{
int i,s,d,w;
ArcNode *p, *q;
printf("请输入节点数和边的数目\n");
scanf("%d%d",&(*G).vexnum,&(*G).arcnum);
// 输入结点数目和边数
getchar();
printf("请输入所有节点\n") ;
for(i=1; iinfo = (int )malloc(sizeof(int));
q->info = (int )malloc(sizeof(int));
p->adjvex = d; // 保存该弧所指向的顶点位置
q->adjvex = s; //保存该弧所指向的顶点位置
(p->info) = w; // 保存权值到一个结点里
(q->info) = w; //保存权值到一个结点里
p->nextarc = (*G).vertices.firstarc;
(*G).vertices.firstarc = p;
q->nextarc = (*G).vertices[d].firstarc;
(*G).vertices[d].firstarc = q;
}
return G;
}
|