Java 回滚撤消重做
我正在使用BST(二进制搜索树)构建一个数据库,我希望用户能够回滚最后5个命令。有什么建议吗?我正在使用Java。您考虑过使用Berkey DB吗?它是免费且受支持的嵌套事务(允许您有任意级别的回滚):Java 回滚撤消重做,java,copy,binary-tree,undo,Java,Copy,Binary Tree,Undo,我正在使用BST(二进制搜索树)构建一个数据库,我希望用户能够回滚最后5个命令。有什么建议吗?我正在使用Java。您考虑过使用Berkey DB吗?它是免费且受支持的嵌套事务(允许您有任意级别的回滚): 即使您决定实现自己的DB,它也可以作为参考。听起来您想要的是。基本上,您创建的对象具有以下所需的所有信息: 从操作前树的状态,重复该操作。(重做) 从操作后树的状态恢复操作。(撤消) 你会把最后五个留着。当用户要求撤销时,取最新的,要求它恢复操作,然后以某种方式(例如,某些索引变量)指出您在纪
即使您决定实现自己的DB,它也可以作为参考。听起来您想要的是。基本上,您创建的对象具有以下所需的所有信息:
你会把最后五个留着。当用户要求撤销时,取最新的,要求它恢复操作,然后以某种方式(例如,某些索引变量)指出您在纪念品列表中的位置。然后,您应该能够在列表中任意方向移动,任意撤销和重做。树有多大?如果它足够小,你可以为最后5次操作保留一份副本。不是很大。我该如何处理lat 5操作???@user475529:不要保留最后五个操作,在每次操作后复制整个树,并保留最近的五个。我想将我的树插入堆栈,当用户调用撤消时弹出它??这可能吗?/当然可以,但使用memento可以节省大量空间,同时还可以使用撤消/重做功能。