采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么不直接用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;
}
v只是我们在这个hasEdge中用的一个名字而已,和每一个edge里面存的v和w可能不是一致的。
你理解成,hasEdge的参数要写成a和b,怎么办?
bool
hasEdge(
int
a,
b){
for
(
i=0;i<g[a].size();i++){
if
(g[a][i]->other(a) == b)
return
true
;
false
继续加油!:)
bobo老师,你写的代码添加的时候使用Edge的构造函数必定是从a开始到b,V和W函数就是return a和return b,也就是说在查找有无这条边的时候,例如hasEdge(3,5),那么g[v][i]->v()就一定是 3,g[v][i]->w() 就一定是另一条边,那么就和g[v][i]->other(v)是一样的意思呀,这是我的理解。
抱歉,我没有特别理解你的意思。所以你的意思是这段代码哪里是错误的?或者可以改写成怎样?
我的意思是可以不需要使用other()这个函数,因为g[v][i]->w()就一定是v的另一条边
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
9.0k 21
5.9k 3
5.2k 5
1.5k 18
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号