我想知道存储std::set
的好方法。目前我正在实现具有多个短路径支持的Floyd算法,其中我维护std::set
来存储每对的多个前任。它是在循环期间计算和更新的,就像原始的一样。
我已经尝试了std::vector<std::vector<std::set<int> > >
,但发现调整大小需要花费大量时间(因为我需要循环中的下标)。在测试具有大约3000个顶点的图形时,调整大小似乎永远不会结束。
但是内置数组似乎与STL不兼容。
那么,如何将std::set
存储在支持按索引访问一个元素的二维容器中,并且不需要花费太多时间进行初始化?