二进制快速排序
来源:互联网 发布:淘宝泄露买家信息处罚 编辑:程序博客网 时间:2024/05/29 18:28
摘自: 算法:C语言实现(第1~4部分) P261
//Item.h#define bitsword 32#define bitsbyte 8#define bytesword 4#define R (1 << bitsword)typedef char Item;#define exch(A, B) {Item t; t = A; A = B; B = t;}#define digit(A, B) (((A) >> (4 - B)) & 1)
//main.cpp#include "Item.h"#include <iostream>using namespace std;void quicksortB(Item a[], int l, int r, int w){int i = l, j = r;if(r <= l || w > 4) return;while (j != i){while(digit(a[i], w) == 0 && (i < j)) i++;while(digit(a[j], w) == 1 && (j > i)) j--;exch(a[i], a[j]);}if(digit(a[r], w) == 0) j++; //判断是否所有的关键字的w位都是0quicksortB(a, l, j-1, w+1);quicksortB(a, j, r, w+1);}void sort(Item a[], int l, int r){quicksortB(a, l, r, 0);}int main(void){char Num[15] = {'A','S','O','R','T','I','N','G','E','X','A','M','P','L','E'};for (int i = 0; i < 15; i++)cout << Num[i] << " ";cout << endl;sort(Num, 0, 14);for (int i = 0; i < 15; i++)cout << Num[i] << " ";cout << endl;}
0 0
- 二进制快速排序
- 二进制快速排序
- 算法记录:二进制快速排序
- 二进制快速幂取模模板
- 二进制 快速count 1
- 二进制 快速count 1
- 十进制 二进制快速转换
- 二进制快速幂
- 快速幂之二进制
- _BIN 二进制排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- Android ViewPager去掉标题
- 第八章 几何变换与裁剪
- 关于OAuth以及OAuth1.0与OAuth2.0的区别
- [LeetCode 9] Palindrome Number -- 回文数字
- 函数指针与回调函数
- 二进制快速排序
- 关于位域的字节内存储顺序、字节对齐、字节序以及符号
- Ubuntu13.04环境下载、编译Android源代码
- POJ2499:Remmarguts' Date(第K短路 SPFA+A*)
- 网站一打开就显示windows安全,输入用户名和密码
- 第三十讲 : 综合应用&存储过程
- java “动态数组”
- AT&T mnemonic conventions
- python3.3 django错误处理“sre_constants.error: nothing to repeat”