vector <vector <string>&gt;的问题建立

时间:2016-05-02 17:52:55

标签: c++ vector text-parsing

我创建了一个应用程序,用于在Windows / Linux上解析大约300k产品(每个产品有70个类别)的分隔文本数据库。该应用程序的目的是比较两个提供的文本文件(一个关闭ftp和一个本地/当前文件)并更新本地文件与任何更改(无论是更新单个产品字段,添加或删除产品)以及保持记录这些变化。

问题是:有没有比2d矢量更有效的方法?或许地图或对矢量更有效率?基本上,比较将是逐行,逐个产品,按类别分类。如果在两个列表中找到匹配的条目,则检查该记录以确认它们在两者上是相同的(否则更新),如果未找到匹配的条目,则从本地列表中删除缺失的产品或将其添加到其中(如果缺少本地列表但存在于ftp上)。

所有这些上下搜索和新成员的潜在删除/添加(顺序无关紧要,因此在本地2d向量的末尾推回添加)似乎导致应用程序性能受损所以我我想知道是否有更有效的方法来解决这个问题。

注意:顺序并不重要,不允许双重输入,本地矢量将使用相同的分隔格式写回文本文件。后端php应用程序需要这种类型的文本/分隔格式。

感谢您的时间和建议。

1 个答案:

答案 0 :(得分:0)

查看std::unordered_map。对你来说应该快得多。