拉链数据结构是很大,当一个人想穿越树和保持当前位置,但是数据结构中的一个应该利用如果他们要追踪一个位置?

让我解释与实施:

  • 有人在#haskell道已经告诉我,拉链都用在yi编辑来表示 光标的位置。这是伟大的,但是如果你想要有两个 光标。如果你想来表示一个选择,你需要知道开始和 结束的选择。
  • 在牛头怪例上的维基教科书,他们使用拉链代表牛头怪的地位内部的迷宫。如果我想添加敌人进入迷宫,代表他们的位置用一个拉链将使尽可能多的意义。
  • 最后一个是真正从我的小型项目的一切开始的地方:作为学习的一部分Haskell我试着想象一棵树的结构采用开罗和gth2hs.这已经好了那么远但我现在想选择一个或更多的节点和可以比如移动它们。因为可以有一个以上的选择的节点我不能使用 拉链中定义的文书。

有一个微不足道(天真的?) 解决方案,类似于一个他们已经在早期版本的XMonad其中涉及有限的地图作为解释 在这里,.

是的,例如对我的项目的例子,我会商店的选择的节点在索引的地图和替换他们的代表在主结构的指数。但这种解决方法有很多缺点。像那些解释在上面的链接,或者说,再次对我的实例,取消选择的所有节点将需要搜索整个树。

有帮助吗?

解决方案

奥列格的工作 "并行"的拉链通过定界的延续 是主要的参考。

其他提示

看看 这纸 .我似乎回想起读书的地方,第二衍生物,具有两个小孔,这可能是你想要什么。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top