我正在使用BST(二叉搜索树)构建数据库,我希望用户能够回滚最后5个命令。有什么建议?我正在使用Java。
答案 0 :(得分:0)
你考虑过使用Berkey DB吗?它是免费的并且支持嵌套事务(这将允许您具有任意数量的回滚级别):
http://download.oracle.com/docs/cd/E17076_02/html/gsg_txn/JAVA/nestedtxn.html
即使您决定实施自己的数据库,它也可能有用作参考。
答案 1 :(得分:0)
听起来你想要Memento pattern。实际上,您创建的对象具有以下所需的所有信息:
你要保留最后五个。当用户请求撤消时,取最新的,请求它恢复操作,然后以某种方式(例如某些索引变量)指示您在纪念品列表中的位置。然后,您应该可以在任一方向上移动列表,根据需要撤消和重做。