从c ++中的多个地图获取信息并进行比较

时间:2014-03-02 04:24:54

标签: c++ c++11 maps

我正在尝试用c ++中的一堆地图做一些有点奇怪的事情。 (如果我称他们为词典,我道歉。过去常常使用Python 2.7。)

我有五十张地图,每张地图代表一个州的前五个城市。关键是城市名称,映射值是其增长率。 (EX.Alaska:{anchorage:112.55; boonies:106.22; ...}每个州五个增长最快的城市。)我想要做的是比较所有这些映射值,找到最高的五个,并打印出他们所属城市的名称。

除了这个事实,我正在比较250个数字,我不知道映射的值或键,直到程序运行。它从超过19,000行的大量txt文件中获取这些数据,找到每个州最高的五个,然后为每个州创建一个字典。

我不知道如何在不知道键是什么的情况下访问所有这些值,甚至不知道如何一次比较所有这些数字。我需要更多的帮助,而不是后者,但任何事情都会有所帮助。

编辑:

试图回答所有问题:

我如何得到50张地图来自我写的自定义类。带有数据的txt文件太大而无法一次性读取,所以我写了一个类,它将读取文件的某个部分,找到部分中前五个的名称和值,并将其作为一个返回五对地图:城市名称及其价值。每个州都是一个部分,它将返回50个地图,每个地图包含5对。因此,阿拉斯加地图将具有{城市:增长值; city2:增长值2 ...}然后会有地图亚利桑那州,地图阿拉巴马州等。此刻,我正在用不同的部分调用50次不同的功能来阅读。每次调用该函数时,它都会返回前五对的映射。我希望这更清楚。

我需要将数据作为地图,因为我需要在最后打印出名称,此外还要比较增长值并找到最佳值。但是,现在我正在考虑更多,我正在考虑在类中添加一个函数,该函数保留所有城市名称的向量和仅增长值之一。我可以采用速率向量并进行比较,然后在另一个向量中找到其对应的名称,带有某种计数器变量。不确定这是否会更好或更容易,但可能会浮现在脑海中。

0 个答案:

没有答案