X岛揭示板
搜索
时间线
综合线
创作线
非创作线
亚文化线
综合2线
游戏线
生活线
综合
综合版1
DANGER/U/
欢乐恶搞
速报2
绘画(二创)
社畜(校园)
故事(小说)
都市怪谈(灵异)
军武
技术宅(代码)
数码(装机)
宠物
女装(时尚)
买买买(物品推荐)
亚文化
动画综合
漫画
婆罗门一
电影/电视
主播管人(圈内)
卡牌桌游
特摄(布袋戏)
战锤
胶佬(手办)
铁道厨(车辆)
VOCALOID
小马(美漫)
东方Project
舰娘
创作
跑团
创作茶水间
规则怪谈
海龟汤(推理)
科学(干货)
文学(推书)
音乐(推歌)
AI(Chatgpt)
摄影(cos)
ROLL点
游戏
游戏综合
手游专楼
任天堂
N
S
腾讯游戏(LOL)
暴雪游戏
SE(FF14)
V社(DOTA)
怪物猎人
鹰角游戏
米哈游
音游打卡
联机(服务器发布)
生活
露营
育儿
自救互助
料理(美食)
体育(健身)
学业打卡
日记(树洞)
管理
值班室
技术支持
版务
三百人委员会
功能
用户系统
我的订阅
我的发言(new)
手机版
普通版
首页版规
|
用户系统
|
移动客户端下载
|
丧尸路标
|
|
常用图串及路标
| 请关注 官方公众号:
【X岛揭示板】
官方微博:
【@X岛极速版】
|
人,是会思考的芦苇
常用串:·
豆知识
·
跑团板聊天室
·
公告汇总串
·
X岛路标
X岛揭示板
技术宅
No.59544379
第 1 页
登录
No.59544379 - 无标题 - 技术宅
回应模式
No.59544379
名 称
管理员
E-mail
标题
颜文字
正文
附加图片
水印
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。
收起
查看大图
向左旋转
向右旋转
无标题
无名氏
2023-09-17(日)14:58:18
ID:TPWHppd
[
举报
]
[
订阅
]
[
只看PO
]
No.59544379
[
回应
]
管理
管理 -> No.59544379
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
关于撤销功能做法,肥哥们有什么建议吗?
小肥我只会这么做:
1.在事件A结束前将A进行的操作信息a放入堆栈里
2.在撤销时读取堆栈里的操作信息a,调用对应的反事件A-
3.反事件A-使用a中的信息来将事件A进行的操作还原
肥哥,请指导我(つд⊂)
…
Tips
无名氏
2099-01-01 00:00:01
ID:
Tips
超级公民
[
举报
]
No.9999999
管理
管理 -> No.9999999
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
(`ε´ )说了多少遍了,这里是婆罗门宅向论坛
…
无标题
无名氏
2023-09-17(日)15:02:40
ID:8hxlYPV
[
举报
]
No.59544421
管理
管理 -> No.59544421
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
撤销就是栈
后入先出
…
无标题
无名氏
2023-09-17(日)15:12:06
ID:KSfAYM3
[
举报
]
No.59544517
管理
管理 -> No.59544517
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
每操作一次就保存一份|∀゚
…
无标题
无名氏
2023-09-17(日)16:49:35
ID:TPWHppd
(PO主)
[
举报
]
No.59545541
管理
管理 -> No.59545541
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59544421
这种基础小肥还是有的,主要是想知道有没有比较新颖的实现方法和思路,网上搜出来的都是原理解析之类,我希望能得到一些更具体更高效的做法(つд⊂)
…
无标题
无名氏
2023-09-17(日)16:53:13
ID:TPWHppd
(PO主)
[
举报
]
No.59545588
管理
管理 -> No.59545588
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59544517
( ゚∀。)b好思路,如果能被撤销的事件过多或者过于复杂的话,做反函数也是很麻烦的一件事
( ゚∀。)7小肥还是大学生没有实际工作经验,不是很了解这方面,这种方法是否是常用的呢?如果保存做得够好,对空间占用够小的话,这个说不定更实用呢(`ε´ )
…
无标题
无名氏
2023-09-17(日)22:40:36
ID:rAqxtB9
[
举报
]
No.59549869
管理
管理 -> No.59549869
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
双向链表队列也许会更好,尾部存储头部删除,每个节点各有指向前后的指针,再封装一下只保留头尾指针访问接口。
…
无标题
无名氏
2023-09-17(日)23:07:07
ID:TPWHppd
(PO主)
[
举报
]
No.59550256
管理
管理 -> No.59550256
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59549869
这样是为了"重做redo"更便捷吗?只看"撤销"的话,小肥有点不理解这样的结构的优势,还请肥哥不吝赐教(つд⊂)
另外,其实我想的是有没有除了:do→undo,之外的撤销方法,因为写反函数和相关的调用判定真的好麻烦哦( ;`д´; )
都2023年了,还没有一种开创性的简便算法来做这件事吗( `ᵂ´)
…
无标题
无名氏
2023-09-18(一)10:55:00
ID:rAqxtB9
[
举报
]
No.59554353
管理
管理 -> No.59554353
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59550256
栈存入的信息从“操作”改为“状态”,每次执行完成后记录当前全局的信息并作为“状态”存储,撤销时读取上一个“状态”。
…
无标题
无名氏
2023-09-18(一)17:37:25
ID:Flni6rg
[
举报
]
No.59558566
管理
管理 -> No.59558566
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
不要用 反 函数
应该根据操作队列从头执行一遍生成数据。
撤销就把队尾移除然后执行一遍数据。
你还可以把移除的数据存入另外一个栈,实现“撤销”的“撤销”,既前进功能
…
无标题
无名氏
2023-09-18(一)18:02:05
ID:uBidyMI
[
举报
]
No.59558873
管理
管理 -> No.59558873
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
我一般用链表储存操作,然后用“指针”指向当前操作,撤销就是把“指针”往前移,回退就重新把指针移回去
…
无标题
无名氏
2023-09-20(三)10:22:45
ID:TPWHppd
(PO主)
[
举报
]
No.59578392
管理
管理 -> No.59578392
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59554353
这是好的,但是如果全局信息过于冗杂庞大,举个例子:有一亿个巨型对象分布在页面上,想要保存这样的信息可能就有点麻烦了
当然上面的话纯属抬杠( ゚∀。),99.999999%的情况都不会有这种鬼东西出现的,我这边想了想还是打算这么做了,毕竟反函数真的搓着有点反人类了(;´ヮ`)7
…
无标题
无名氏
2023-09-20(三)10:25:53
ID:TPWHppd
(PO主)
[
举报
]
No.59578413
管理
管理 -> No.59578413
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59558566
小肥学的不多,sql的数据日志是不是就是这样的原理呀( ´∀`)
但是这种操作依赖于每个子操作独立化,对c++这种以函数模块为主要工作对象的程式语言来说很难做到吧?当然这只是小肥摸摸脑袋想出来的,肥哥能深入讲一下吗(つд⊂)
…
无标题
无名氏
2023-09-20(三)10:27:33
ID:TPWHppd
(PO主)
[
举报
]
No.59578422
管理
管理 -> No.59578422
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59558873
比堆栈好很多呢!小肥我的猪脑袋想的全是先进后出,所以直接搓了两个堆栈一个放撤销一个放前进( ゚∀。)7肥哥说得有理,我这就去改掉(`ε´ (つ*⊂)
…
无标题
无名氏
2023-09-29(五)10:43:39
ID:uAT3F7D
[
举报
]
No.59682606
管理
管理 -> No.59682606
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59544379
可以看看设计模式里的命令模式 Command Pattern,也许能有所参考
…
无标题
无名氏
2023-10-25(三)14:40:02
ID:jbXXCqS
[
举报
]
No.59952964
管理
管理 -> No.59952964
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
我不是很确定你到底要撤销什么,但我建议你了解一下可持久化数据结构
…
无标题
无名氏
2023-11-05(日)21:51:14
ID:QVtDlGV
[
举报
]
No.60076803
管理
管理 -> No.60076803
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
取决于你要操作的数据是什么样的,常见的有硬盘文件的按页写时复制和数据库的操作日志
…
无标题
无名氏
2024-04-15(一)01:29:57
ID:TPWHppd
(PO主)
[
举报
]
No.62034082
管理
管理 -> No.62034082
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
>>No.59558873
>>No.59558566
>>No.59554353
谢谢这几位肥哥的建议,我最后结合了实际需求做了双向链表,内容则是操作前的单位状态
也就是在操作进行前,将进行操作的单位的状态保存下来,撤销/重做时恢复到对应的状态
要是按照一开始的反函数的思路来做( ゚∀。)7
后果不堪设想啊( ;`д´; )
…
无标题
无名氏
2024-04-17(三)16:25:37
ID:HC7XV0n
[
举报
]
No.62066040
管理
管理 -> No.62066040
SAGE
编辑
查询
Cookie查询
锁Cookie
删串
我在写go是这样做的,在不同操作间传递一个context,如果哪一步寄了就rollback
不知道有没有更好的办法
上一页
1
下一页
UP主: