0

我正在 Prolog 中编写一个简单的程序安全检查器,我需要一个数据结构来保存变量估值。由于我想检测我什么时候再次访问同一个状态,所以这个结构必须支持一些合理的比较语义,所以我可以将访问过的状态存储在集合中。

library(avl)具有方便的 getter/setter 接口。问题是,持有相同映射的 AVL 可以采取多种形式。因此,如果它们的 AVL 表示不同,则两个相同的状态将被认为是不同的。

在有序列表中保存映射的结构将没有这个问题。但是,我在 Sicstus 文档中找不到类似的东西。是否有任何标准结构可以满足我的需要,或者我必须自己实现它?

4

1 回答 1

1

您已经订购了集合,但在 AVL 中,您始终可以将 AVL 转换为键值对的有序列表,然后进行比较。

于 2012-05-27T14:47:11.560 回答