摘要: 一. 第四单元架构设计 本着轻松愉快的思想,我在做第四单元时没有做架构设计(我知道可以利用中间层次来建立树形、图形结构来减少时间复杂度,但数据量太小了,完全没有必要),所以就去实现所要求的方法,每个都遍历来做。我的确用了一个别的类来提高代码复用性(将像是寻找Class/Interaction之类的方 阅读全文
posted @ 2022-06-25 15:24 godel_bach 阅读(39) 评论(1) 推荐(0) 编辑
摘要: 一.自测数据生成 本次作业中一大好处是不用考虑输入合法性,非法数据也有相应的异常来处理,这给了数据生成很大的便利,使得生成部分免去了合法性检验。我采用的策略是随机数据,我自己随便选了个比例来生成各个指令,对于复杂度较高的指令,我也专门写了针对该指令的生成数据。这样就对时间上也有了检验。 当然我们也会 阅读全文
posted @ 2022-06-01 16:33 godel_bach 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 一. 同步块与锁 在本人的架构当中,共享对象是Controller,或者更准确的来说,是其中的waitQueue。在输入线程requestInput向其中添加请求,而Controller通过计算将相应的请求分发给Elevator。在这个过程中涉及到了对waitQueue的添加、遍历与删除,所以对它的 阅读全文
posted @ 2022-04-27 19:41 godel_bach 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 1.结构的迭代 总体思路是先无视未知数之类的事物,将题目先当成一个纯数字运算,并利用递归下降来解决。然后将数字用下面描述的Expr来替换,数字运算用相应重载运算符的方法替换,这样就完成了。UML图见下。 (具体使用的Parser中的方法命名改动了一下,更加便于理解了) 1.1 数据的储存 第一次作业 阅读全文
posted @ 2022-03-23 23:29 godel_bach 阅读(58) 评论(0) 推荐(0) 编辑