统计中的bitMap

//位图的概念就是在个一字节八位的地方存八个状态

比如 bool hash[] 表示某个数字被标记过,一个数字需要一个字节

而bitMap就是可以把每位都用来标记,起到节约空间的目的

//位图的概念就是在个一字节八位的地方存八个状态

#include<stdio.h>

char s[100]; // 范围0~799

void bitmap(int n){
    int insert=n/8;
    int insertbit=n%8;
    s[insert]|=(1<<insertbit);
}

int findBitmap(int n){
    int insert=n/8;
    int insertbit=n%8;
    if((s[insert]&(1<<insertbit))!=0){
        return 1;
    }else{
        return 0;
    }
}

int main(){
    int n,i;
    while(scanf("%d",&n)!=EOF){

        int temp;
        for(i=1;i<=n;i++){
            scanf("%d",&temp);
            bitmap(temp);
        }

        for(i=1;i<=n;i++){
            scanf("%d",&temp);
            if(findBitmap(temp)==1)
                printf("find !");
            else
                printf("no find!");
        }
    }

    return 0;
}
原文地址:https://www.cnblogs.com/huhuuu/p/3455306.html