【发布时间】:2015-09-17 01:04:10
【问题描述】:
为令人费解的标题道歉,但我想要做的主要是我有一个带有一堆键的哈希表/关联列表,每个键对应一个列表。
我的问题在于我基本上想创建一个谓词,将一个项目附加到一个键的列表中,但该键甚至可能还没有创建一个列表(整个键->值对甚至可能不存在) 我不知道怎么说get_assoc,但是如果没有列表,则创建它然后附加它,否则只需将它附加到从get_assoc返回的列表中。
如果列表尚不存在,我将如何创建列表?我不确定我是否以 Prolog 的心态看待这个问题,所以如有必要,请随时指出我的方向。
【问题讨论】:
-
听起来你更根本的问题是你不知道你想如何表示你的哈希表?你还没有展示你的哈希表是什么样子的。
-
首先,决定你需要什么:哈希表、RB-tree、AVL-tree。然后检查这些是否已经在库中可用。在 SWI-Prolog 中,标准库中至少有(连同完整源代码)RB-trees(可回溯和不可回溯)和 AVL-tree。
标签: prolog swi-prolog logic-programming