数据特性:数据为正整数,比较集中,而且没有重复。

 

代码:

#include <stdio.h>

#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()
{   
    int i;
    int num;

    for (i = 0; i < N; i++)
        clr(i);
    for(i =0; i< 10; ++i)
    {
        scanf("%d", &num);
        set(num);
    }
    for (i = 0; i < N; i++)
    {
        if (test(i))
            printf("---%d\n", i);
    }
    return 0;
}
View Code

相关文章:

  • 2021-06-23
  • 2021-08-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
猜你喜欢
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-14
相关资源
相似解决方案