摘要: 由于我对于c++了解的并不算太多,对于c++相对于c#和java的区别也不算太了解,所以只能从一个面向对象语言用户的角度来看待c++11的新变化。lambda表达式,我对于lambda表达式的理解就是在原本的参数位可以将所填写的参数作为lambda表达式的参数进行一个新定义的函数运算,后再填入该参数位,这样省去了事前声明函数的不必要的麻烦。自动类型推导,我对它的理解就是可以在声明变量时不用确定变量的类型,但是看到一些人分享的博客中写到迭代器如voidfucn(constvector&vi){ vector::const_iteratorci=vi.begin(); }可简写为auto 阅读全文
posted @ 2013-11-11 13:09 打字的烦恼 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 这次作业是让写一个客户端服务器的程序,由于原本对于这方面没有了解过,只好在网上搜索类似的代码。好在在网上找到了一个在局域网内聊天的软件的代码,对代码进行了一定的了解之后大致对于客户端和服务器的建立有了初步的认识。 首先是服务器,其中含有几个关键的方法,首先是sendstart(),其作用是想每一个客户端发出一轮游戏开始的信号,客户端在接收到信号时会返回自己的g-number,其中Thread.Sleep(1200);用来控制客户端的发送频率。ListenClientConnect()方法是用来监听接受客户端的注册消息,并将客户端的信息存入Clientlist中(此方法中的好多操作并不是完... 阅读全文
posted @ 2013-11-04 13:30 打字的烦恼 阅读(138) 评论(1) 推荐(0) 编辑
摘要: 本次作业我与张盛兴同学(以下由张代替)采用了结对编程的方式完成了作业。首先在第一步的时候我们就有了在方法上的一些分歧,张认为应找出出现在首字母位置频率较高的字母,这样每个角的顶点处便可使用该字母放置,这样便可在三个方向重均用到此字母,一定程度提高了字母的利用率。但是我认为,此方法虽然带来了一定的使用率,但是会造成长度较大的单词的优先级较低,然而长度大的单词需要更加苛刻的条件,所以应该有更高的优先级,在实际测试中也发现,往往会发生最长的单词无法加入矩阵的情况。最终决定结合我们两个的观点,在进行完角部的处理后,立马对于单词进行排序,按照单词的长度来添加单词。此图为本程序最为核心的三个函数,函数is 阅读全文
posted @ 2013-10-28 12:31 打字的烦恼 阅读(162) 评论(1) 推荐(0) 编辑
摘要: 本次作业是实现二位的最大子序列的算法。由于有了第一次的一维数组的经验,二维数组我也决定向着一维数组的方法上靠。二维数组的不确定性很大,单凭每一行的一位数组的大小无法确定整个二维数组的大小。所以说,只能把每一种一位数组的情况都尝试一下才能得出正确的结果。首先我大概的思路是将每一种一位数组的组合都尝试一下。如:1,2,3,4就可以尝试1、12、123、1234、2、23、234、3、34、4这所有情况,分别计算每种情况的和,让后行的概念就消除了,剩下的就与一位数组求最大子段和的方法相同了。但是对于每行所有情况的求和,便是一个花费时间较多的事情,如果每种情况都进行一次累加的话,进行了大量的重复计.. 阅读全文
posted @ 2013-10-01 11:10 打字的烦恼 阅读(275) 评论(1) 推荐(0) 编辑
摘要: 首先看到此问题时,便感觉这题的解法大概是动态规划方向的。然后便想尝试用动态规划来做这题,子问题就是n-1的最大子段和,然后如果n-1的最大子段包含第n-1个元素,那么如果第n个元素大于0,则n的最大子段是,n-1的最大子段加上第n个元素。若n-1的最大子段不包含第n-1个元素,则n的最大子段在n-1的最大子段和n往前累加的最大和之间的较大者是最大子段。但是,此方法无用步骤较多,所以时间复杂度上是nlogn,并不是一个非常好的方法。看了正确答案后发现答案确实巧妙,一旦前面某一段的和是小于0的,便可以抛弃不要,然后进行比较,此方法复杂度是n切代码也非常短。 阅读全文
posted @ 2013-09-20 09:03 打字的烦恼 阅读(310) 评论(1) 推荐(0) 编辑