注册 登录
编程论坛 C++教室

横向优先搜索法遍历图

功夫熊猫 发布于 2010-10-13 12:22, 550 次点击
template<class T1,class T2>
void Link_GP<T1,T2>::bfs_Link_GP()
{
    int *mark,k;
    sq_Queue<int>q(nn);
    node<T1> *p;
    mark=new int[nn];
    for(k=0;k<nn;k++)
        mark[k]=0;
    for(k=0;k<nn;k++)
    {
        if(mark[k]==0)
        {mark[k]=1;
        cout<<gp->data<<"  ";
        q.ins_sq_Queue(k);//当前编号节点入队
        while(q.flag_sq_Queue())
        {
            k=q.del_sq_Queue();//从队列中退出一个节点作为当前节点
            p=(gp+k)->link;
            while(p!=NULL)
            {
                k=p->num-1;
                if(mark[k]==0)
                {cout<<(gp+k)->data<<"  ";
                mark[k]=1;
                q.ins_sq_Queue(k);//当前节点编号入队
                }
                p=p->next;
            }
        }
        }
    }
    cout<<endl;
    delete mark;
    return;
}
横向优先搜索法遍历图,在哪里有问题,怎么程序到这里就停了。。。
4 回复
#2
hahayezhe2010-10-13 14:20
怎么停了 是中断 还是死循环啊!
#3
功夫熊猫2010-10-13 19:15
应用程序错误,该内存不能为read。。。
#4
hahayezhe2010-10-13 20:39
肯定指空了 下断点调式了
#5
功夫熊猫2010-10-13 20:49
不好意思,是前面的代买写错了。。。
1