编程珠玑
文章平均质量分 83
xiaobo620
这个作者很懒,什么都没留下…
展开
-
zn
#define BITSPERWORD 32#define SHIFT 5#define MASK 0x1f#define N 1000000int 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 · 550 阅读 · 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 · 1486 阅读 · 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 · 1261 阅读 · 0 评论