24小时热门版块排行榜    

查看: 258  |  回复: 0

Charlie_Li

新虫 (初入文坛)

[求助] 转向延误最短路径C++代码有一个error,跪求指出!!

template<class T>
Bool suanfa<T>::caculate(LinkedGraph<T>&linkedgraph)
{
        T ss;
        int i,j,k,flag; //定义三个节点和标志变量flag
        //得到后继节点
        p=p0->first;
        while(p)
        {
                j=p->no;
                flag=0;
                ss=linkedgraph.GetValue(i,j)+GetValue(i,j);
                if(GetValue(j,-1)>ss)
                {
                        setparent(i,j,-1,ss);
                        flag=1;
                }//修改标号
                p1=linkedgraph.FindChidNode(j);
                //得到后继节点
                q=p1->first;
                while(q)
                {
                        k=q->no;
                        //得到转向延误
                        Doublelist<T> *p0,*p1;
                        Node<T> *p,*q;
                        while(!SE->IsEmpty()){//判断链表是否为空
                                i=SE->Delete();mark=0; //删除节点
                                p0=linkedgraph.FindChidNode(i);
                                ss+=linkedgraph.GetDelay(i,j,k);
                                if(GetValue(j,k)>ss)
                                {
                                        setparent(i,j,k,ss);
                                        flag=1;
                                }
                                //修改标号和父节点
                                q=q->next;
                        }
                        if(flag==1&&mark[j]==0)
                        {
                                SE->Add(j);mark[j]=1;}//增加节点到链表
                        delete p1;
                        p=p->next;
                }
                delete p0;
        }
        return true;
}
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Charlie_Li 的主题更新
信息提示
请填处理意见