设图的顶点分别存储在v[n]数组中,首先初始化邻接矩阵。遍历邻接表,在依次遍历顶点v[i]的边链表时,修改邻接矩阵的第i行的元素值。若链表边结点的值为j,则置arcs[i][j]=1。遍历完邻接表时,整个转换结束
void Convert(ALGraph &G,int arcs[M][N]){
int i=0;
for(i=0;i<n;i++){//依次遍历各顶点表为头的边链表
p=(G->v[i]).firstarc;//取出顶点i的第一条边
while(p!=NULL){//遍历边链表
arcs[i][p->data]=1;
p=p->next;//取下一条边
}
}
}