编程珠玑
文章平均质量分 83
xiaobo620
这个作者很懒,什么都没留下…
展开
-
zn
#define BITSPERWORD 32 #define SHIFT 5 #define MASK 0x1f #define N 1000000 int a[1+N/BITSPERWORD]; void set_i(int i) { a[i>>SHIFT] |= (1>SHIFT] 每1个int32位为一个桶,a[i>>SHIFT]相当于找那个32位, //原创 2012-03-31 22:47:37 · 532 阅读 · 0 评论 -
编程珠玑第15章字符串stl set和map容器排序字符串
15.1单词 1:生成包含单词的列表,利用c++标准库提供的sets和strings 从文件中分析出单词,并排序输出 #include #include #include #include using namespace std; void TokenWordFromTxt(set &S,ifstream &in) { char *pch; char *psrc = NULL原创 2012-04-19 13:31:47 · 1473 阅读 · 0 评论 -
编程珠玑笔记第一章 a[i>>SHIFT]
问题描述: 问题:一个最多包含n个正整数的文件,每个数都小于n,n = 100 00000。文件中的正整数没有重复的,请按升序排列这些整数。可用内存空间只有1MB左右,运行时间在10秒左右。 选择方案: 1:归并排序,32为整数,1M的内存空间,每次可以读入约250 000(25万)个数(注意估计方法,1M 10的6次方,1百万字节,1G,10的9次方,10亿字节) 那就需要40次读入原创 2012-03-31 16:11:51 · 1222 阅读 · 0 评论