edgeTo不用指针可以吗

来源:8-5 优化后的Prim算法的实现

宝慕林2471919

2019-04-18

定义的时候写成vector<Edge> edgeTo;
最后用的时候写成mst.push_back(edgeTo[v]);而不用mst.push_back(*edgeTo[v]);这样可以吗

写回答

1回答

liuyubobobo

2019-04-19

可以的。


可能会稍微影响一些效率,因为每次取出Edge的时候,都会将整这个Edge复制一次,相较而言,取出指针,只是复制一个地址。不过现代C++(C++11以后的版本)对此也有优化。整体在逻辑上,是没有问题的:)


继续加油!:)

1
3
慕运维6075306
我理解了,因为&a取出的是地址,这里使用它没有意义。*EdgeTo[V]取出的是指针EdgeTo指向的值
2021-10-07
共3条回复

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

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

11187 学习 · 1614 问题

查看课程