补充以上代码空缺部分·
时间: 2023-07-09 16:35:05 浏览: 17
好的,下面我来补充代码空缺部分。
```
int CreateUDG(ALGragh &G,int vexnum,int arcnum) {
G.vexnum = vexnum;
G.arcnum = arcnum;
for(int i=1;i<=G.vexnum;i++) {
G.vertices[i].data = i;
G.vertices[i].firstarc = NULL;
}
for(int k=1;k<=G.arcnum;k++) {
int i,j;
cin>>i>>j;
//头插法插入边结点
ArcNode *p = new ArcNode;
p->adjvex = j;
p->nextarc = G.vertices[i].firstarc;
G.vertices[i].firstarc = p;
ArcNode *q = new ArcNode;
q->adjvex = i;
q->nextarc = G.vertices[j].firstarc;
G.vertices[j].firstarc = q;
}
return OK;
}
int InsertVex(ALGragh &G) {
int v;
cin>>v;
G.vexnum++;
G.vertices[G.vexnum].data = v;
G.vertices[G.vexnum].firstarc = NULL;
return OK;
}
int PrintGraph(ALGragh G) {
for(int i=1;i<=G.vexnum;i++) {
cout<<G.vertices[i].data<<" ";
ArcNode *p = G.vertices[i].firstarc;
while(p) {
cout<<p->adjvex<<" ";
p = p->nextarc;
}
cout<<endl;
}
return OK;
}
```
这里的 `CreateUDG` 函数实现了创建无向图的功能,其中使用头插法插入边结点, `InsertVex` 函数实现了在图中插入顶点的功能, `PrintGraph` 函数用于输出图的邻接表。
相关推荐


















