05 2011 档案

摘要:无聊写的程序,验证些语法知识#include <stdio.h>struct main{ #define MAX_SIZE 19900 int count ;};struct super{ #define MAX_SIZE 100 int count; char ch;};int main(){ struct main hunter; hunter.count = MAX_SIZE; struct super main; main.count = MAX_SIZE; printf("Hello World %d \t %d\n",hunter.count,mai 阅读全文
posted @ 2011-05-31 18:12 westfly 阅读(1110) 评论(0) 推荐(0)
摘要:在Linux中,链表有list与hlist的区别,其各自定义如下struct list_head { struct list_head *next, *prev; };struct hlist_head { struct hlist_node *first; };struct hlist_node { struct hlist_node *next, **pprev; };可以看出,其都为双向链表。双头(next,prev)的双链表对于Hash表来说“过于浪费”,因而另行设计了一套Hash表专用的hlist数据结构——单指针表头双循环链表,hlist的表头仅有一个指向首节点的指针,而没有指向尾 阅读全文
posted @ 2011-05-30 14:28 westfly 阅读(3830) 评论(0) 推荐(0)
摘要:终于决定整理自己的写的库函数了#include <stdio.h>void *ystd_memmove(const void *src,void *dst,size_t n){ void * ret = dst; //not overlap if((dst < src)||(src + n)<= dst) { while(n--) *(char *)dst++ = *(char *)src++; }else if(src < dst){//if src == dst quickly return dst += n; src += n; while(n--) *(c 阅读全文
posted @ 2011-05-19 20:32 westfly 阅读(291) 评论(0) 推荐(0)
摘要:贴代码#include <stdio.h>/***********************************************************************************Tango是微软亚洲研究院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的Tango水王吗?***************** 阅读全文
posted @ 2011-05-17 15:41 westfly 阅读(203) 评论(0) 推荐(0)
摘要:以下文字摘自 http://zhedahht.blog.163.com/blog/static/25411174200952174133707/题目:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题的算法,并证明该算法。分析:这是09年6月份百度新鲜出炉的一道面试题,从这道题我们可以看出百度对应聘者在算法方面有很高的要求。这道题其实是希望我们能找到一个排序规则,根据这个规则排出来的数组能排成一个最小的数字。要确定排序规则,就得比较两个数字,也就是给出两个数字m和n,我们需要确定 阅读全文
posted @ 2011-05-17 13:47 westfly 阅读(357) 评论(0) 推荐(0)
摘要:找一个数据流中丢失的一个数字。该数据流中一直是0--------100000000(比较大)的数,求被丢失的数字。@modified昨天很同学讨论的时候,题目需要加一个限制性的条件——N为四的倍数,即通过三个数,找出丢失的数字。#include <stdio.h>#include <stdlib.h>#define max_size 10000void swap(int *x,int *y){ int tmp; tmp = *x; *x = *y; *y = tmp;}int main(int argc,char *argv[]){ int array[max_size 阅读全文
posted @ 2011-05-16 19:25 westfly 阅读(351) 评论(0) 推荐(0)
摘要:详细解说 STL 排序(Sort) 作者Winter 阅读全文
posted @ 2011-05-13 14:18 westfly 阅读(290) 评论(0) 推荐(0)
摘要:分治策略设一组数R={r1,r2,r3....rn}为要进行全排列的n个元素,Ri=R-{ri}。将集合X中元素的全排列记为perm(X)。(ri)prem(X)表示在全排列perm(X)的每一个排列前面前面加上前缀ri得到的排列R的全排列可以归纳为: 当n=1时,perm(R)=(r),其中r是集合R中唯一元素。 当n>1时,perm(R)由(r1)perm(R1),(r2)perm(R2),....,(rn)perm(Rn) 构成。由归纳可已看出本题可以用递归分治的算法将问题分成一个一个得小模块进行求解。EG: R={1,2,3,4}ps:这里圆括号里面的顺序是不能变动的。有上数据可 阅读全文
posted @ 2011-05-10 22:30 westfly 阅读(368) 评论(0) 推荐(0)
摘要:POJhttp://poj.org/problem?id=2105IP Address#include <stdio.h>int main(int argc,char *argv[]){ int n; int i; char bits[33]; int ip; scanf("%d",&n); while(n--) { scanf("%s",bits); ip = bits[0]%48; for(i = 1;i<32 ; ++i) { if(i%8 == 0){ printf("%d.",ip); ip = b 阅读全文
posted @ 2011-05-05 19:53 westfly 阅读(182) 评论(0) 推荐(0)
摘要:依照KMP实现的算法,附带测试用例。#include <algorithm>#include<iostream>#include<iterator>#include <string>#include <vector>#include <cassert>#include <cstring>using namespace std;/**计算next***/void kmp_next(char *pattern,int *next){ int i = 0 ; int j = next[0] = -1; while(p 阅读全文
posted @ 2011-05-04 14:13 westfly 阅读(481) 评论(0) 推荐(0)
摘要:KMP算法引用最多的是Matrix67的大作KMP算法详解 该文对KMP算法有个详细的介绍,从宏观上了解下吧。还有其提到 "由于KMP算法只预处理B串,因此这种算法很适合这样的问题:给定一个B串和一群不同的A串,问B是哪些A串的子串。"。其姊妹文章KMP算法与一个经典概率问题未看——有时间再关注将KMP作为自动机KMP算法深度解析KMP算法并非凭空而来,而是基于有线自动机的。该文的图形引用得比较多。从自动机(NFA to DFA)角度去理解KMP和Shift-And/Shift-or算法文中提到了本《Flexible Pattern Matching inStrings》的 阅读全文
posted @ 2011-05-04 14:06 westfly 阅读(400) 评论(0) 推荐(0)
摘要:一直使用xshell工具,但是上传和下载文件都得要借助其它工具,觉得不是很爽。于是干净利落的换SecureCRT。安装可以选择绿色版的,该软件有试用期。在使用rz和sz前要在linux下安装lrzsz,否则会出现“rz: command not found”等提示.(设置SecureCRT的颜色,点击”会话选项”–”仿真”–终端选择”linux“–并且勾选ANSI如果还不能显示vim的颜色就先exit再登陆就OK了!)下面内容转载自《用SecureCRT来上传和下载数据》使用Zmodem从客户端上传文件到linux服务器1.在用SecureCRT登陆linux终端.2.选中你要放置上传文件的路 阅读全文
posted @ 2011-05-03 17:24 westfly 阅读(1727) 评论(0) 推荐(0)
摘要:转载自文章 http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 阅读全文
posted @ 2011-05-01 22:03 westfly
摘要:由于安装的时候选的是全英文环境,所以对中文的支持有乱码,必须自己手动解决。该文章定期更新,估计我遇到关于乱码的解决都会在这里记录下来 。ps:请确定你已经安装了相关的编码环境。1.gedit乱码解决:运行gconf-editor–>app–>gedit2–>preferences–>encodingsauto_detected 应该是没有GBK,或者GB2312,添加上GBK就可以(全写上也无所谓).这样再次用gedit打开gb2312编码的文本就不会有内容乱码..2.vim乱码解决:在/etc/vim/vimrc文件中添加如下代码:let &termencod 阅读全文
posted @ 2011-05-01 20:34 westfly 阅读(1470) 评论(0) 推荐(0)
摘要:参考http://www.cnitblog.com/schkui/archive/2007/07/02/29320.html若干经典的字符串哈希函数http://blog.csdn.net/Java2King/archive/2009/10/25/4725280.aspx某些hash函数的实现http://www.byvoid.com/blog/string-hash-compare/字符串hash效率的比较 阅读全文
posted @ 2011-05-01 19:44 westfly 阅读(269) 评论(0) 推荐(0)