首页 > 代码库 > 【编程珠玑】第一章位图排序
【编程珠玑】第一章位图排序
记录一下代码。
1 #include<iostream> 2 using namespace std; 3 4 #define BITSPERWORD 32 5 #define SHIFT 5 6 #define MASK 0x1F 7 #define N 10000000 8 9 int a[1 + N/BITSPERWORD];10 11 void set(int i) { a[i >> SHIFT] |= 1 << (i&MASK); }12 void clr(int i) { a[i >> SHIFT] &= ~(1 << (i&MASK)); }13 int test(int i) { return a[i >> SHIFT] & (1 << (i&MASK)); }14 15 int main(void) {16 int i;17 for (i = 0; i < N; i++) clr(i);18 while (cin>>i) set(i);19 for (i = 0; i < N; i++) {20 if (test(i))21 cout << i<<endl;22 }23 system("pause");24 return 0;25 }
【编程珠玑】第一章位图排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。