我想实现UNDO和REDO选项(正如我们在MS Word等中看到的那样)。你能给我推荐一个它的数据结构吗?我该如何实现它?
最佳答案
它不是一种数据结构,而是一种设计模式。您正在寻找Command Pattern .
标准是将 Command 对象保留在堆栈中以支持多级撤消。为了支持重做,第二个堆栈保留您已撤消的所有命令。因此,当您弹出撤消堆栈以撤消命令时,您会将弹出的同一命令推送到重做堆栈中。当您重做命令时,您会执行相反的操作。您弹出重做堆栈并将弹出的命令推回到撤消堆栈中。
关于data-structures - 用于实现UNDO和REDO选项的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/701131/