C++ 插入物的容器是否完好?C++;

C++ 插入物的容器是否完好?C++;,c++,path-finding,C++,Path Finding,嗨,我想知道插入元素的最佳容器是什么?我认为地图是不必要的,因为我只是要访问前面的元素,弹出它,然后插入更多的元素(我正在实现一个带权重的寻路算法(Dijkstra)) 我可能自己也可以使用列表并按顺序插入,但无法平分(因为您开始在前面或后面访问)会妨碍性能。如果您只需要访问前面和后面,(双端队列)完全符合要求 但是,对于Dijkstra算法,你不需要一个优先级队列吗?< /p> < p>如果你使用C++,在 头文件中有一个 STD::PrimRythyQueue/Cuth>容器适配器。我需要为

嗨,我想知道插入元素的最佳容器是什么?我认为地图是不必要的,因为我只是要访问前面的元素,弹出它,然后插入更多的元素(我正在实现一个带权重的寻路算法(Dijkstra))


我可能自己也可以使用列表并按顺序插入,但无法平分(因为您开始在前面或后面访问)会妨碍性能。

如果您只需要访问前面和后面,(双端队列)完全符合要求


<>但是,对于Dijkstra算法,你不需要一个优先级队列吗?< /p> < p>如果你使用C++,在<代码> 头文件中有一个<代码> STD::PrimRythyQueue/Cuth>容器适配器。我需要为优先级队列指定一个容器类型,我应该使用什么?哦,你的意思是希望队列按照某种标准进行排序;我把它读作“插入顺序”。那样的话,怎么样?:)Kk但是它说它只能使用向量或队列作为内部容器:/@Alasdair:它可以使用
std::vector
std::deque
作为底层容器。这有关系吗?如果您使用的是
std::priority_queue
成员函数,那么您将不会直接访问底层容器。不,我只是关心效率,考虑一下这个问题。虽然顺序访问容器确实有意义,因此可以有效地将其平分,但它只是按顺序插入的主要操作。