编程珠玑第一章位图排序
Posted Liez
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程珠玑第一章位图排序相关的知识,希望对你有一定的参考价值。
记录一下代码。
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 }
以上是关于编程珠玑第一章位图排序的主要内容,如果未能解决你的问题,请参考以下文章