【发布时间】:2013-03-13 08:51:44
【问题描述】:
我已经实现了一个优先队列,它运行良好。下面是我的类型定义。
type 'a t = | Leaf of ('a -> 'a -> int)
| Node of 'a * 'a t * 'a t * ('a -> 'a -> int)
我的想法是树接受一个比较器函数('a -> 'a -> int)并产生一个'a t,它将由比较器排序。
但是,我在每个 Leaf 和 Node 上都有比较器,我想知道是否有更好的方法。
具体来说,给定一棵树,我希望能够轻松访问它的比较器。而且我不知道如果我的树的每个节点和叶子上没有比较器,我是否可以做到这一点。
谢谢
【问题讨论】:
标签: tree functional-programming ocaml priority-queue