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

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

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

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

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

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

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

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

posted @ 2021-05-17 14:12  卖雨伞的小男孩  阅读(518)  评论(0编辑  收藏  举报