文章
77
粉丝
9
获赞
2
访问
12.0k
1)设定两个辅助数组,下标用于表示顶点号,一个数组键值用于表示该顶点入度,一个数组键值用于表示该顶点出度;按顶点遍历顶点表,每个顶点遍历其边表,遇到为1,将其对应行下标对应的出度表对应键值加一,将其对应列下标对应的入度表对应键值加一;最后一轮循环,同时遍历两个辅助数组,输出出度大于入度的带点,并遇到符合条件的顶点,对全局变量count++
2)
int printVertices(MGraph G) {
int InDegree[G.numVertices];
int OutDegree[G.numVertices];
int count=0;
for (int i=0; i<G.numVertices; i++) {
for (int j=0; j<G.numVertices; j++) {
if (G.Edge[i][j] != 0) {
InDegree[j]++;
OutDegree[i]++;
}
}
}
for (int i=0; i<G.numVertices; i++) {
if (InDegree[i]<OutDegree[i]) {
printf("%s", G.VerticesList[i]);
count++;
}
}
return count;
}
登录后发布评论
暂无评论,来抢沙发