设计一个算法计算邻接表表示的图中任意顶点v的出度。边结点和邻接表的结构如下: typedef struct e

大学网课 已帮助 人

设计一个算法计算邻接表表示的图中任意顶点v的出度。边结点和邻接表的结构如下: typedef struct eNode { int adjVex; struct enode* nextArc; }ENode; typedef struct graph { int n; int e; ENode **a; }Graph 要求实现方法: int Degree(Graph g, int v)

设计一个算法计算邻接表表示的图中任意顶点v的出度。边结点和邻接表的结构如下: typedef struct e

热搜:数据流图中带有箭头的线段表示的是

回答

共1条回复

  • typedef struct {int vertex[m]; int edge[m][m];}gadjmatrix; typedef struct node1{int info;int adjvertex; struct node1 *nextarc;}glinklistnode; typedef struct node2{int vertexinfo;glinklistnode *firstarc;}glinkheadnode; void adjmatrixtoadjlist(gadjmatrix g1[ ],glinkheadnode g2[ ]) { int i,j; glinklistnode *p; for(i=0;i<=n-1;i++) g2[i].firstarc=0; for(i=0;i<=n-1;i++) for(j=0;j<=n-1;j++) if (g1.edge[i][j]==1) { p=(glinklistnode *)malloc(sizeof(glinklistnode)); p->adjvertex=j; p->nextarc=g[i].firstarc; g[i].firstarc=p; p=(glinklistnode *)malloc(sizeof(glinklistnode)); p->adjvertex=i; p->nextarc=g[j].firstarc; g[j].firstarc=p; } }