老师您好~ 想问问这个函数中g[v][i]->other(v) 为什么非要用other()

来源:8-1 有权图

MelodyA

2019-05-12

为什么不直接用g[v][i]->w() ? 感觉应该是对的诶。

g[v]后面不可能存v了吧?

目前只看到这个章节 不太明白other这个函数有什么意义嘞?

 bool hasEdge(int v,int w){         

for(int i=0;i<g[v].size();i++){            

     if(g[v][i]->other(v)==w)                 

            return true;            

         return false;         

}      

}

写回答

1回答

liuyubobobo

2019-05-12

v只是我们在这个hasEdge中用的一个名字而已,和每一个edge里面存的v和w可能不是一致的。


你理解成,hasEdge的参数要写成a和b,怎么办?

bool hasEdge(int a,int b){         

    for(int i=0;i<g[a].size();i++){            
        if(g[a][i]->other(a) == b)                 
            return true;            
         return false;         
    }      
}


继续加油!:)

0
7
何时才能成大佬
回复
liuyubobobo
谢谢bobo老师,我明白了
2020-10-27
共7条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程