使用位逻辑运算实现位向量,并实现大数据排序
来源:互联网 发布:java 1.6 32位下载 编辑:程序博客网 时间:2024/06/06 02:29
首先,先把这些数据实现位向量:
该例中数据类型为int,且为32位
#define BITSPERWORD 32
#define SHIFT 5
#define MASK 0x1f
#define N 10000000
int a[1+N/BITSPERWOED];
把其对应位置0:
void clr(int i)
{
a[i>>SHIFT] &= ~(1<<(i&MASK));
}
把其对应位置1:
void set(int i)
{
a[i>>SHIFT] |= (1<<(i&MASK));
}
查询对应位是否为1:
int test(i)
{
return(a[i>>SHIFT] &(1<<(i&MASK));
}
然后将其运用到大数据的排序中,现将数据置于位图中,然后遍历打印,如果有重复数据则需要再用一个数组进行标记,打印时候考虑重复
1,for(i=0,N)
if(!test(i))
set(i)
2,for(t = 0, N)
if(test(t))
printf();
具体实现代码可以参考其他人的代码http://blog.csdn.net/txgc0/article/details/8676068
0 0
- 使用位逻辑运算实现位向量,并实现大数据排序
- 使用位逻辑运算实现位向量并实现位图排序
- 使用位逻辑运算来实现位向量
- 使用位逻辑运算实现位向量
- 使用位逻辑运算来实现位向量
- 使用位逻辑运算实现位向量
- 使用位逻辑运算来实现位向量
- 使用位逻辑运算实现位向量
- 使用位逻辑运算实现位向量
- 逻辑运算实现位向量
- 使用位逻辑运算实现位向量(位图)
- 如何使用位逻辑运算来实现位向量
- [C++]使用位逻辑运算来实现位向量的理解
- 编程珠玑位逻辑运算实现位向量
- 如何使用为逻辑运算实现位向量(PROGRAMMING PEARLS)
- 位向量实现文件中数据排序
- 编程珠玑之1.2位逻辑运算实现位向量
- 编程珠玑:通过位逻辑运算实现位向量
- opencv:slider(滑动条)
- HTTPS原理:证书传递、验证和数据加密、解密过程解析
- 深入理解Java中对象的浅拷贝与深拷贝
- 阿里巴巴分布式数据库服务DRDS研发历程
- 学习心情 随笔。。。。
- 使用位逻辑运算实现位向量,并实现大数据排序
- 4-9 二叉树的遍历 (25分)
- 广播BroadcastReceiver
- 在PreTranslateMessage中处理mouse move的消息,解决Picture Control设置notify为true之后与对话框OnMouseMove冲突的问题
- 响应式布局
- opencv:视频处理
- 杨辉三角输出
- 网址
- 算法训练 未名湖边的烦恼