摘要: stack,中文翻译做“栈”,特点就是先进后出,后进先出。像盖房子一样,新的数据总是被放在上层,若要取数据,就像拆房子,不要太暴力的方式,就要从顶层一层层往下拆。stack有几种操作,push——进栈,pop——出栈,isempty——检查是否为空栈,top——栈顶元素位置。 1 #include 2 #include 3 #define DataType int 4 #define MAXSIZE 1024 5 typedef struct 6 { 7 DataType data[MAXSIZE]; 8 int top; 9 }SeqStack;10 SeqStack *In... 阅读全文
posted @ 2013-12-23 17:13 yiming.zou 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 既然是为了宣传...那么还是把讲解部分放在前面吧...借用适牛的一句话:没有人敢说自己精通动态规划。所以我也就着这道题稍微说说我对动态规划的理解吧...动态规划的基本思想就是空间换时间,就是申请更多的内存空间存储中间环节以减少重复计算。回到这道题,我们先看较为简单的一维问题:求数列的最大子数列。是不是很容易想到枚举前后端点?O(n^3)的时间复杂度可吃不消啊...于是我们就要想,如何才能存储下中间状态?我们可以观察到,每次枚举出两个点时,循环求区间和是一个重复计算的过程,可以在上一步的基础上加上这一步多出来的点。于是就要多申请一个变量空间记录这些累加和,但是时间复杂度因此下降到了O(n^2)。 阅读全文
posted @ 2013-12-09 00:28 yiming.zou 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 1) 把程序编译通过, 跑起来。读懂程序,在你觉得比较难懂的地方加上一些注释,这样大家就能比较容易地了解这些程序在干什么。注释请见GitHub...把正确的 playPrev(GoMove) 的方法给实现了。 1 public void playPrev(GoMove gm) 2 { 3 Point p = gm.Point;//要被移除的点 4 m_colorToPlay = gm.Color;//获取此点的颜色,继续后不改变颜色 5 clearLabelsAndMarksOnBoard();//清除信息 6 m_gmLastM... 阅读全文
posted @ 2013-11-25 10:21 yiming.zou 阅读(210) 评论(2) 推荐(0) 编辑
摘要: 1. 用Lambda计算"Hello World!"中字母e和l的个数: 1 #include 2 using namespace std; 3 char str[110]; 4 auto func = [] (char ch) 5 { 6 int num = 0; 7 int len = strlen(str); 8 for (int i = 0;i 2 #include 3 using namespace std; 4 char str[20]; 5 void deviate(int k) 6 { 7 shared_ptrp(new char[20])... 阅读全文
posted @ 2013-11-24 23:55 yiming.zou 阅读(150) 评论(2) 推荐(0) 编辑
摘要: 1. 理解C++变量的作用域和生命周期a) 用少于10行代码演示你对局部变量的生命周期的理解 1 #include 2 using namespace std; 3 void p() 4 { 5 int a = 0; 6 cout 2 using namespace std; 3 int main() 4 { 5 int *stack; 6 int a = 10; 7 stack = &a; 8 cout 2 #include 3 #include 4 using namespace std; 5 int main() 6 { 7 ... 阅读全文
posted @ 2013-11-18 00:27 yiming.zou 阅读(172) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/zhuyp1015/archive/2012/08/02/2620767.html由于我的英文能力不是很强,再加上这种专业方面的词汇更是读不懂了,因此我选择了4篇中文博客。首先我看的第一篇是有关c++的array的,是一种固定大小的容器。我学习的第一种编程语言是pascal,其中数组定义为a:array[1..1000]of longint;让我冒然认为c++中的array就是数组,但其实...似乎就是实现数组的功能啊!文中提到了fill、data、swap3个函数。1. fill函数: 其用途是将array中的全部元素置为某个值。但是细想想,在. 阅读全文
posted @ 2013-11-10 23:16 yiming.zou 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 第五次作业的重点是服务器端的开发...很不幸...我对于这玩意一无所知...原来做的移动智能终端——服务器式数字家庭实例这个程序用的是serv-u这个自动搭建的服务器...但又很幸运...我的小伙伴王文涛对于服务器来说比较在行...于是这次主要由他开发程序...我给他打下手...他喜欢用python这种语言...对我来说却是门全新的语言...只能帮他改改bug神马的...当然自己也试着读了读python的代码...发现还是能看得懂的...主界面与主功能...计算黄金数字: 1 def index_page(): 2 for i in list(data.db.select('users 阅读全文
posted @ 2013-11-03 23:57 yiming.zou 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 一. 程序设计想法:于是这次我实在是懵了...真的不会啊...(好在后来得知是个np问题)...于是听从老师的建议,先从判定算法写起...于是第一反应这是一个八方搜索啊我从1~n,1~n表示一个二维字符矩阵,不从0开始的好处是防止溢出。dfs(int x,int y,int direct,int num,int k)分别表示此时搜到的坐标为(x,y),方向为direct(若为0则启动1~8循环方向),num为此时序列符合第几个单词(若为-1则启动1~count循环判定符合与否),k表示此时为第num个单词的第k个字母(当k==第num个单词长度时,则搜到完整单词)。似乎就是一个全排列类似的写法 阅读全文
posted @ 2013-10-27 23:43 yiming.zou 阅读(249) 评论(3) 推荐(0) 编辑
摘要: 非常好...果然是我图样图森破...GitHub竟然被墙了...尴尬的是需要FQ将代码上传至in sync状态...然后翻回来继续上传才行...还有一些没传上去的...不过主体应该都在了...不知能否运行...是不是我还没有用对HitHub...总之从上午开始传的代码下了课还没传上去...然后GitHub官网也打不开...一. 程序的架构和思路:由于这种面向对象的窗体程序原来也没少写过...似乎感觉轻车熟路的样子...事实证明我又天真了...我把《C#入门经典》这本书放家了!没有参考书只能自己百度了...和往常一样,我从程序分块入手。这次的作业是将homework-02弄成一个面向对象的窗体程 阅读全文
posted @ 2013-10-21 10:16 yiming.zou 阅读(296) 评论(0) 推荐(0) 编辑
摘要: GitHub挂了...我会在其恢复的时候上传我的代码的...其实代码就在blog里面...已解决...是我自己的问题...之前没有pull一下...结果就上传不上去...一. 程序的架构和思路:其实吧...这个第二次作业是在第一次作业上的延伸,于是算法应该和第一次的相似,或者说是将二维转化为一维,然后再做...但还是从朴素算法开始想吧...最最朴素的算法,就是一个六重循环,枚举矩阵的左上和右下两个点的x、y坐标,然后计算这之中的值的和即可。#include#include#includeusing namespace std;int a[1010][1010];int main(){ f... 阅读全文
posted @ 2013-10-01 09:11 yiming.zou 阅读(262) 评论(1) 推荐(0) 编辑