c++ - Concept -> input 生成不同大小的列表,这些列表可能会相互添加元素

标签 c++ list concept datalog

感谢您迄今为止提供的所有帮助!

今天我正在为一个数据记录程序开发一个数据库。我的逻辑有点卡住了,我以为我已经弄清楚了,但我遇到了一些死胡同。

我有 Scheme 输入,所以基本上是一个带有名称和列表名称列表的字符串。 然后我有 Facts,基本上这些列表有一个名称和一个值列表。

我需要处理这些方案,创建一个包含方案名称的列表,这些列表包含变量,并将来自匹配事实的信息附加到变量列表。

       Scheme
           listname A B C D
           other    C D
       Fact
           listname 1 2 3 4
           listname 2 3 4 5
           other    9 6

我需要生成以下列表

        A     B       C      D
        1     2       3      4
        2     3       4      5
                      9      6

我遇到的问题是因为在我看到我正在使用 vector 的输入之前我不知道我需要多少列表>>。这里的问题是,当我遇到一个只匹配两个列表的元素时,我不太知道该怎么办。这个问题变得比我想象的要复杂。

如何生成更易于查看且大小可变的单独列表?

到目前为止,我已经做到了,因此我可以根据方案和事实下的列表名上面的示例生成一个很好的 vector ,但是当我遇到其他类型(例如上面的其他类型)时,我会卡住。

我通常不喜欢在这里发布此类悬而未决的问题,但我在编程方面不是很有经验,而且我很难想出一个好的方法来完成这项工作。

感谢您的任何意见!

最佳答案

据我所知,数据结构由输入数据决定。

Scheme 是 SchemeItem 对象的 vector 。
SchemeItem 是一个包含名称和变量 vector 的对象(结构/类)。
Fact 是 FactItem 对象的 vector 。
FactItem 是一个包含名称和值 vector 的对象。

创建数据结构,将数据读入其中。然后乐趣开始了(但那将是另一个问题)。

关于c++ - Concept -> input 生成不同大小的列表,这些列表可能会相互添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23024660/

相关文章:

c++ - 随机段错误C++

c++ - 参数包构造函数在类模板中隐藏用户定义的转换

list - 创建所有可能列表的列表,给定每个元素可以采用 n 个值之一

list - 如何按字符串对自定义类型进行排序

c# - 日历编程: How can I place,创建并确定使用MVVM表示任务的项目?

java - 如何在JAVA中使用带有重载的Double Dispatch?

c - 通过一个简单的例子理解C的fork()

javascript - DukTape 在 GLUT 窗口上显示 JavaScript Canvas

c++ 11模板类型别名以减轻痛苦

list - PhpStorm 在列表标签​​中包装多行