利用双栈实现撤销与恢复逻辑

以下,undo栈表示撤销栈,redo栈表示恢复栈。

1、进行增删改操作时,操作前状态入undo栈;

2、撤销时,当前状态入redo栈,然后undo栈出栈,替换当前状态;

3、恢复时,当前状态入undo栈,然后redo栈出栈,替换当前状态;

4、重新增删改操作时,当前状态入udo栈,恢复栈清空。

再者,如果有撤销步数限制,比如限定20步操作可撤销,需要设定以下umdo栈的

容量,需要栈底元素出栈。

原文地址:https://www.cnblogs.com/xietianjiao/p/14776737.html