基数排序
来源:互联网 发布:linux网吧视频服务器 编辑:程序博客网 时间:2024/06/06 17:20
//基数排序#include <iostream>#include <vector>#include <queue>using namespace std;class RadixSort{public:void radixSort(vector<int>& v, int d);//基数排序//v 要排序的向量,d 排序数字的位数void distribute(const vector<int>& v, int power);//将排序的数字按位数分发到队列中void collect(vector<int>& v);//从队列中收集数字void print(const vector<int>& v);//打印排序好的向量private:queue<int> digitQueue[10];};void RadixSort::radixSort(vector<int>& v, int d){int i, power = 1;for (i = 0; i < d; i++){distribute(v, power);collect(v);power *= 10;}}void RadixSort::distribute(const vector<int>& v, int power){int i;for (i = 0; i < v.size(); i++){digitQueue[(v[i] / power) % 10].push(v[i]);}}void RadixSort::collect(vector<int>& v){int i, j = 0;for (i = 0; i < 10; i++){while (!digitQueue[i].empty()){v[j] = digitQueue[i].front();digitQueue[i].pop();j++;}}}void RadixSort::print(const vector<int>& v){int i;for (i = 0; i < v.size(); i++){cout << v[i] << " ";}cout << endl;}
阅读全文
0 0
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- 基数排序
- ES6解构赋值
- Mysql、Oracle、Hive中SUM(null)和COUNT(null)
- 脏读和数据库一致性的分析
- CSR蓝牙开发资源
- shell学习。一些基本的知识。
- 基数排序
- 验证grep是否成功
- 【BigHereo 35】---L8---C++真题总结
- [spark] Task执行流程
- Jmeter:性能测试指南
- 连接ftp出现 331 Please specify the password 的解决办法
- 第九周——项目1——二叉树算法库
- IntelliJ-IDEA常用设置
- Alluxio安装与配置