上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 32 下一页
摘要: 第二十篇 水滴石穿时间是个无形的东西,可是我们却把它变得有形,我们都在描写着自己的形状。今天,半天把PHP那本圣经基本看完了,觉得今天有进步了些。我不去艳羡他人,只觉得自己也有自己的优点。 时间虽然吞噬我的青春,却给我无限智慧。 现在,未来也许已经可以窥见,我还是要坚持的奋斗我的人生。有一种力量叫水滴石穿。也许是饱含辛酸的眼泪经历困惑的日子,却可以领略智慧的快乐。 没有孤独,人生也许就是这样。 阅读全文
posted @ 2013-05-04 21:51 xshang 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 好想有一个自己的博客,苦逼的研究生生活。PHP从头学起,现在入了点门,看到他们都有自己的博客,心里发毛,一个研究生啊。还得学Linux,都强大,可是自己还是一点点成长吧。经历了艰难,经历了沮丧,还是要站起来。 为了不老的青春。 接着看吧,那些坚持的人都已看到曙光。 阅读全文
posted @ 2013-05-03 21:33 xshang 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 问题:事情总是这样,当你明白时,很简单,但当你不会时,又好像觉得自己怎么那么笨。。。huffman算法关键是选择两个最小的数时不要弄错了。刚开始看时,真的很吃力,都不敢相信自己居然把huffman译码也做出来了。代码:#include <iostream>#include <cstdlib>#include <cstring>using namespace std;int s1,s2;typedef struct huffmanNode{ int weight; int parent; int lchild; int rchild;}*HuffmanTree 阅读全文
posted @ 2013-05-01 17:01 xshang 阅读(806) 评论(2) 推荐(1) 编辑
摘要: 问题:这两种操作都用到了递归,别人说递归好理解,我真的不觉得递归好理解,只是递归的代码看起来简单。下面代码是求高度的另一种方法。递归计算高度是从底向上计算的,因此叶子节点高度为0;方法真的很巧妙。。。比如getTreeHigh(a->lchild)返回的就是a的左子树的高度,getTreeHigh(a->lchild)返回的就是a的右子树的高度。int getTreeHigh(BinTree btree){ int depth; if(btree==NULL) depth=0; else { depthleft=getTreeHigh(btree->lchild); ... 阅读全文
posted @ 2013-04-30 16:16 xshang 阅读(2108) 评论(0) 推荐(0) 编辑
摘要: 问题:再一次验证自己功底的薄弱,对那些大侠只有仰慕的份。。。简单说一下自己的感受,递归的实现是个栈,每次函数结束时,退回到上一层,函数结束默认为return。二叉树的各种非递归实现用到的数据结构是栈。这次用重温了STL中stack的用法。代码:#include <iostream>#include <cstdlib>#include <stack>using namespace std;typedef struct node{ char data; struct node *left; struct node *right;}*BinTree;void Cr 阅读全文
posted @ 2013-04-30 10:42 xshang 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 问题:比较简单^^代码:#include <iostream>using namespace std;#define MAXSIZE 1000typedef struct tMatrix{ int row; int col; int data;}TMatrix;typedef struct matrix{ TMatrix arr[MAXSIZE]; int r,c,num;}Matrix;void CreateTMatrix(Matrix &c){ int rs,cs,ns; int p,q,e; cout<<"please input the row 阅读全文
posted @ 2013-04-27 15:51 xshang 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 问题:很经典,也很难,理解了一个下午。。。终于把KMP算法思想弄明白了。改天继续看看。昨天写的,今天继续补充,KMP算法是由三个人发明的,KMP就是三个人名字的首字母。下面开始讲这个经典的算法:1、刚开始比较时,如果相等,下移;2、继续比较,遇到不相等的,假设位置为j,然后找j之前最大长度相等的前缀和后缀。这个怎么找不好理解,但理解了就很简单。用子串(现在作为主串)的第一个字符和j位置之前的第一个字符比较,如果相等,继续比较,第二个字符和j之前的第二个字符往后比较,。。。记录最大长度相等的前缀和后缀。3、如果没有,则主串和子串都增1。next数组的求法:首先,初始化。next[0]=-1;ne 阅读全文
posted @ 2013-04-26 22:36 xshang 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 代码:#include <iostream>using namespace std;int main(){ char *s="helolophp"; char *s1="lop"; char *c=s1; int len=0; while(c[len]!='\0') { len++; } int i=0,j=0; for(;s[i]!='\0';i++) { if(s1[j]==s[i]) { j++; if(j==len) { cout<<"匹配成功的起始位置是:"<&l 阅读全文
posted @ 2013-04-26 15:56 xshang 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 问题:字符串结尾记得加'\0';发现自己代码写的真烂,逻辑太简单了。。。代码:#include <iostream>using namespace std;int main(){ char *s1="hello"; char *s2="world"; char *c; char *c1; int len1,len2; len1=len2=0; c=s1; while(c[len1]!='\0') len1++; c=s2; while(c[len2]!='\0') len2++; c1=(cha 阅读全文
posted @ 2013-04-26 14:52 xshang 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 问题:一定要记得保存指针的地址。代码:#include <iostream>using namespace std;int main(){ char s1[]="helloworld"; char s2[]="hellochina"; char *c1=s1; char *c2=s2; char *c3; int length1=0,length2=0; while(s1[length1]!='\0') length1++; while(c2[length2]!='\0') length2++; if(leng 阅读全文
posted @ 2013-04-26 14:26 xshang 阅读(181) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 32 下一页