单项选择题
编写算法实现建立图的邻接表
StatusCreateAG(ALGraph &G){ int n,e,k,i,j; cout<<"请输入顶点数:"; cin>>n; cout<<"请输入边数:"; cin>>e; G.vernum=n; G.arcnum=e; // 建立顶点数组 for(k=0;k>G.vertices[k].data; G.vertices[k].firstarc=NULL; } // 建立邻接表 VertexType v1,v2; ArcNode *p,*q; for(k=0;k>v1>>v2; i=LocateVex(G,v1);
if(iG.vernum-1) return ERROR; j=LocateVex(G,v2);
if(jG.vernum-1) return ERROR;
if(i==j)return ERROR;
p=newArcNode;
if(!p)return ERROR; p->adjvex=j; p->nextarc=NULL; q=G.vertices[i].firstarc;
if(!q)G.vertices[i].firstarc=p; else{ while(q->nextarc) __________ // 指针定位于邻接表的尾结点 q->nextarc=p; } } return OK;}
A.p=p->nextarc;
B.q->nextarc=NULL;
C.q->nextarc=p->nextarc
D.q=q->nextarc