源程序实在是太长了 只能提供一个网址 http://hi.baidu.com/olhfhvkuvbbeqrd/item/f93945a9475a173c030a4dd9
希望大神详细简单的解释一下广度遍历那段算法的意思 尤其是 while(!quempty(q))
{
int u,w;
u=dequeue(q);
for(w=firstadjvex(g,u);w>0;w=nextadjvex(g,u,w))
{
if(!visited[w])
{
visited[w]=1;
visitvex(g,w);
enqueue(q,w);
}
}
}
这一段 实在是看不懂 小弟现在也没有多少分了 只能先意思着了
我先说一下 这个程序是老师给我们的,之前老师也没有教原理 完全让我们自己解释这个程序是如何运行的 以后如果有朋友和我一样对这个程序有疑问的话,可以告诉你们,这个程序应该是有错的
至于楼底下的,我不知道你从哪里看出来我不懂得队列,我不懂得广度遍历的,但我知道你绝对没有细看程序就在那里说,你说你每一句话都是在解释代码,但是你就没有发现这个程序有问题吗,看问题了吗?你看程序了吗?你看空间里的原程序了吗?
这段程序中,“while(!quempty(q))” 这句语句应该是源于课本上的 但是 课本上的是一个函数QueueEmpty 这个函数针对的是空队列返回TRUE,否则返回FALSE;但是这段程序里是/*判断队列是否为空*/
int quempty(Queue *q)
if(q->front==q->rear)
return 0;
else
return 1;
我不知道你是从哪里来的信心说是一句一句解释的,反正我是看不出来你解释的是哪一句。当然,还有其他的问题还是请你这个”犬神“自己找吧!!!