发布网友 发布时间:2022-05-29 15:38
共2个回答
热心网友 时间:2023-10-23 05:15
我知道你哪里不明白了,你没看见上面的for循环,1,如果不为0,则不执行if了,但执行for循环。2,执行for循环的目的就是把所有的入度减1,减为0的入栈。追问为什么执行for循环就是把所有邻接点的入度减1 啊?能解释下for这句的意思吗追答for循环的意思就是说把所有的以G.vertices[i]为孤尾结点的,所有狐头指向的结点的入度减1,把度数减为0的入栈。
G.vertices[i].firstarc的意思是:图G中以第i个顶点结点的狐尾结点的第一个孤所指向的结点。
p=p-->nextarc是以第i个顶点结点的狐尾结点的下一个顶点结点。
这是邻接表的定义嘛。
k就是表示i的一个邻接点,但只是一个,要把所有的以第i个顶点结点的狐尾结点所指向的结点的入度都减1才行啊。
热心网友 时间:2023-10-23 05:16
执行--indegree[k] 因为他的前驱已经取出了,他必要少一个邻接点,只是不入0度栈