【发布时间】:2022-01-22 14:54:12
【问题描述】:
我有一个std::unordered_map<id, town_data> data,其中town_data 是一个包含不同信息的struct - 名称(字符串)、征收的税款(整数)和与首都的距离(整数)。我应该建立一个std::vector<id>,它按前面提到的距离排序,从低到高。我很难弄清楚如何有效地做到这一点。我想我可以简单地循环遍历data,通过该循环/插入创建std::map<distance, id>,按距离排序,除非地图默认排序,然后逐个键将其复制到新向量std::vector<id>。但这似乎真的很浪费。我在这里错过了一些捷径或更有效的解决方案吗?
【问题讨论】:
-
请展示您的尝试。
-
很高兴您能提供帮助。这就是本网站的全部目的。可惜我只能投票一次。无论如何,感谢您的良好贡献和支持活动。我不确定我还能做些什么。再次感谢您
标签: c++ vector time-complexity unordered-map