加入到队列中的数据的值将不能改变,所以使用把结构体加入到队列中并进行更新加入的结构体的值的做法是不可行的
(这也就导致使用优化版迪杰斯特拉算法时不能使用将每个点的序号以及距离初始点的最短距离包含起来的结构体,因为这将导致不能对队列中的结构体内的距离进行更新,
而只能将序号加入到队列中,因为距离是需要更新的,而加入到stl内部的值是不能被更新的,而这时需要一个技巧令只含有序号的队列仍能正确弹出所需要的序号,具体操作如下)
加入到队列中的数据的值将不能改变,所以使用把结构体加入到队列中并进行更新加入的结构体的值的做法是不可行的
(这也就导致使用优化版迪杰斯特拉算法时不能使用将每个点的序号以及距离初始点的最短距离包含起来的结构体,因为这将导致不能对队列中的结构体内的距离进行更新,
而只能将序号加入到队列中,因为距离是需要更新的,而加入到stl内部的值是不能被更新的,而这时需要一个技巧令只含有序号的队列仍能正确弹出所需要的序号,具体操作如下)
原文:https://www.cnblogs.com/MekakuCityActor/p/8490441.html