NO.5

    貌似贴代码的感觉并不好,尤其是我这种忘记写注释的。今天想晒晒这次算法课实验的经历,虽然这个算法很普通,不过我还是有所感悟。
   课程的题目很简单,就是字符串运算,利用栈来操作,push()去pop()来的。记得第一次上机课我就把那个中缀后缀的搞懂了,还想到了一个自认为“与众不同”的点子,说白了就是从节省了一个栈。对于我这种莫名其妙的节省族自然是没有买教科书的,所以对于书上那个给了很多源代码只要你写几个函数的方法并没有采用。于是我就想起我的《大话设计模式》里面有一个简单工厂模式,处理的就是这种运算。于是我就洋洋洒洒的在纸上写好了运算流程,拿起书来研究一下。等着写好了程序到机房去调出一个“奇迹”(由于我的电脑里面已经被各种编译器搞的混杂,所以去机房还比较安全)。程序编译的时候,依旧的长长的错误清单,顺便说一下,那个VC真的没VS好用,至少在我们机房是这样的,总是出一大篇missing ';'这种错误,VS更准确些。于是我找助教帮我看看。助教让我把代码发过去,一直研究到下课才跑过来操着四川口音跟我说:“我觉得你的方法有点烂啊~,这个比较优先级的不用聚沉(可能是继承)这么麻烦的,你那个好~复杂的”。鉴于我以前差点搞了编导,当时我的感受相当的戏剧,就是一个闪雷劈下来,我辛辛苦苦搞了那么久就一句有点烂!
      于是我开始反思,我知道这个算法可以实现的更简单,但是我用设计模式主要是想将传说中的OO思想体现一下,顺便看看我的学习效果好不好,有没有真正掌握简单工厂模式,毕竟看书学习没有实践来的快和准。因为我觉得书上那个重新定义各个运算符之间的大小的方法是非常麻烦的,不如把运算符定义成类,将优先级变成属性来得更有效。可是这样有继承又抽象的确是又麻烦的不少,而且C++的指针是相当的烦,这也是直接导致我对C++没什么好感的原因。
      我同学说,算法要有简单又有效才好,做项目才要这要那的。我听了以后觉得挺对的,研究算法的目的是要高效,我这样一搞又回到原点了。虽然我把大量的时间都花在了语法和指针继承的错误调试上,不过真的学到了不少。当年学习的时候无非是看PPT做题背规则,真正到用的时候都将那些抛之脑后了。可是等你实践玩一个小程序,那些规则就会刻在你脑子里,当下次遇到类似问题的时候,马上就能查出问题所在。这比在考试的时候有自信的填上一道背过的概念题有成就感多了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值