一个比较难的算法!!

ttoth12 2003-10-20 08:45:44
就是实现目前各种软件均有的上一步,下一步操作,就是上一步就是返回用户上一步操作,下一步就是实现用户已经做过的下一步的操组嗄!!请大家帮帮忙嗄!!
...全文
83 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzwu 2003-10-21
  • 打赏
  • 举报
回复
"用户在我写的文本编辑器里面删除了几万行的数据,难道我把数据全部保存进堆栈嗄!!,如果删除图片的话,我不是更加头疼了嗄!!请大家好好想象嗄!!"

堆栈中间保存的一般只是一步一步的操作命令,删除了几万行的数据或删除图片之前都应有副本。redo时就从原来的备份中读出。
但必要时,为了提高redo速度,在另一个堆栈中保留图片或数据也是可以的。

apogeecsj 2003-10-21
  • 打赏
  • 举报
回复
把状态数据都保存到外存上去,然后需要退栈时,从外存取数据到内存,可以设一个数据文件来保存状态,具体需要保存些什么则要看你的软件所需了
三色 2003-10-21
  • 打赏
  • 举报
回复
BlueSky2008 2003-10-21
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView1.asp?id=1339529
短歌如风 2003-10-20
  • 打赏
  • 举报
回复
使用Command Pattern.
内容很多,建议看一下“设计模式”,推荐“四人帮”那本。
gambolgs 2003-10-20
  • 打赏
  • 举报
回复
如果复杂就要保存数据的了。你看Photoshop保存的每一步不都是图片吗?(显然不会是操作,因为回调速度非常快,而且那些滤镜作的变换应该是不可逆的)
如果你的操作是很简单的,那么你要对每个操作都定义其逆操作,然后存下操作就可以了。
但是应该不会这么容易!你看VC中的Undo,如果你打错了一行程序它可以一次恢复一行,而不是按一下Ctrl+Z恢复一个字母。
ttoth12 2003-10-20
  • 打赏
  • 举报
回复
堆栈中间保存,什么嗄,操作,还有与操作相关的数据嗄,保存操作还可以,但是保存与操作相关的数据库就头疼了嗄!!比如用户在我写的文本编辑器里面删除了几万行的数据,难道我把数据全部保存进堆栈嗄!!,如果删除图片的话,我不是更加头疼了嗄!!请大家好好想象嗄!!
ZhangYv 2003-10-20
  • 打赏
  • 举报
回复
做过的操作存在一个栈中。执行一个操作就是入栈,返回就是出栈

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧