【编程珠玑】第一章位图排序
2016-09-18 00:10
274 查看
记录一下代码。
#include<iostream> using namespace std; #define BITSPERWORD 32 #define SHIFT 5 #define MASK 0x1F #define N 10000000 int a[1 + N/BITSPERWORD]; void set(int i) { a[i >> SHIFT] |= 1 << (i&MASK); } void clr(int i) { a[i >> SHIFT] &= ~(1 << (i&MASK)); } int test(int i) { return a[i >> SHIFT] & (1 << (i&MASK)); } int main(void) { int i; for (i = 0; i < N; i++) clr(i); while (cin>>i) set(i); for (i = 0; i < N; i++) { if (test(i)) cout << i<<endl; } system("pause"); return 0; }
相关文章推荐
- 编程珠玑习题:数字重复出现位图排序
- 编程珠玑:位图排序海量整数
- 编程珠玑之第一章习题3:度量100w整数排序的运行时间
- 编程珠玑--位图在排序中的使用
- 编程珠玑之第一章习题5:k趟算法给1000w数据排序的测试用例
- 【编程珠玑-读书笔记】用位图解决排序问题--仔细分析问题的重要性
- 【编程珠玑】第一章电话号码排序
- 编程珠玑 -- 利用位图排序
- 对一千万条数据进行排序---编程珠玑第二版 第一章
- 我写的编程珠玑第一章位图的实现,使用C++
- 编程珠玑--第一章使用位图
- [编程珠玑]-第一章:位图/位向量排序
- 对一千万条数据进行排序---编程珠玑第二版 第一章
- 编程珠玑之第一章习题6给每个整数不超过10次的100w数据排序的测试用例
- 编程珠玑习题:多趟位图排序,数字不重复出现
- 编程珠玑--位图在排序中的使用
- 编程珠玑第十一章----排序
- 【编程珠玑】第十一章 排序 (插入排序和快速排序的深度优化)
- 编程珠玑 第一章习题解答
- 关于编程珠玑第一章的体会