二进制快速排序
来源:互联网 发布:风险矩阵法的作用 编辑:程序博客网 时间:2024/06/07 02:31
算法C语言实现:
#define bitsword 32
#define bitsbyte 8
#define bytesword 4
#define R (1<<bitsbyte)
#define digit(A,B) ((A)>>(bitsword-((B)+1)*bitsbyte)&(R-1))
void SortB(int a[],int l,int r,int m)
{
int i = l,j = r;
if (l >= r||m > bitsword)
{
return;
}
while (i != j)
{
while (digit(a[i], m) ==0&&(i < j)) {
++i;
}
while (digit(a[j], m) ==1&&(i < j)) {
--j;
}
if(a[i]!=a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
if (digit(a[r], m) ==0)
{
++j;
}
SortB(a,l,j-1,m+1);
SortB(a,j,r,m+1);
}
int main(int argc,constchar * argv[]) {
int a[] = {1,0,1,0,1,0,1};
SortB(a,0,6,3);
return 0;
}
- 二进制快速排序
- 二进制快速排序
- 算法记录:二进制快速排序
- 二进制快速幂取模模板
- 二进制 快速count 1
- 二进制 快速count 1
- 十进制 二进制快速转换
- 二进制快速幂
- 快速幂之二进制
- _BIN 二进制排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- Android获取应用列表
- log4j的分类打印
- 数据结构
- HashMap的遍历
- 【第二届蓝桥杯】中奖计算
- 二进制快速排序
- 选取表单和表单元素
- jQuery相关API及知识点
- 深入理解 Promise 五部曲:4. 扩展问题
- Java 时区问题解析
- 使用JavaBean和JSP制作自动刷新的日历
- Java的Unsafe类及compareAndSwap浅析
- Unity Shader--关于顶点偏移的一点发现
- js图片拖拽查看并滑动鼠标可放大缩小