作者:紫藤雨2502915477 | 来源:互联网 | 2023-01-08 17:24
最近各种忙呀.需要了解各种知识。发现现在网上的资料真的太杂了,很难找到自己想要的,最重要的还是得靠自己。另外就是搜技术相关的东西最好还是用google。继续努力
最近各种忙呀.............需要了解各种知识。发现现在网上的资料真的太杂了,很难找到自己想要的,最重要的还是得靠自己。另外就是搜技术相关的东西最好还是用google。
继续努力........
-----------以下切入正题-------------
bitmap位图法是利用二进制的几位来表示数据一种状态的方法,通常适用于数据量大的处理与分析。网上举得最多的例子就是给你N个不重复的乱序的数,然后再给一个数,让你判断这个数是否在这N个数中(N这个数字很大)。遇到这种数据量大,但是状态很少的问题(这个例子中就是一个数存在或者不存在)。
在处理过程比较需要注意的是用于存储状态的位数组的方向。
以下是一个小例子:
#include
#include
typedef int (*fun_bit)(int,char*,int);
typedef struct{
fun_bit set;
fun_bit statistic;
}fun_bitmap;
/*
*put the num to the bitmap
*the first param is useless
*/
int set_bit(int num,char *bitmap,int size){
int pos,bit;
if(size*8-1