下面是一个有向图G采用邻接表存储结构的拓扑排序算法。请在 处填上适当内容,使其成为一个完整算法。
typedef struct VNode
{ VertexType
data;
ArcNode *firstarc;
} VNode, AdjList[MAX_VERTEX_NUM];
typedef struct ArcNode
{ int adjvex;
struct ArcNode *nextarc;
InfoType *info;
}ArcNode;
typedef struct{
AdjList vertices;
int vexnum, arcnum;
int kind;
}ALGraph;
Status TopologicalSort(ALGraph G) {
//有向图G采用邻接表存储结构。若G无回路,则输出G的顶点的一个拓扑序列并返回
OK, 否则返回 ERROR。
int indegree[vexnum];
FindInDegree(G, indegree) ; /对各顶点求入度 indegree [0. vexnum-1]
InitStack(S) ;
for(i = 0; inextarc)
{ k = p->adjvex;
if(!(- -indegree[k]) 9
if( 10 ) return ERROR;
else return OK;
}/TopologicalSort
查看答案和解析【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
启航教育热门私房课
MORE